firewire: core: optimize propagation of BROADCAST_CHANNEL
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 10 Mar 2009 20:09:28 +0000 (21:09 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 24 Mar 2009 19:56:52 +0000 (20:56 +0100)
commit7889b60ee71eafaf50699a154a2455424bb92daa
treed5bb3a4d274bf186e32605284a34a36398475818
parentcbae787c0f288c3ad385ad4165ae30b5500a1f23
firewire: core: optimize propagation of BROADCAST_CHANNEL

Cache the test result of whether a device implements BROADCAST_CHANNEL.
This minimizes traffic on the bus after each bus reset.  A majority of
devices does not implement BROADCAST_CHANNEL.

Remove busy retries; just rely on the hardware to retry requests to busy
responders.  Remove unnecessary log messages.

Rename the flag is_irm to broadcast_channel_allocated to better reflect
its meaning.  Reset the flag earlier in fw_core_handle_bus_reset.

Pass the generation down as a call parameter; that way generation can't
be newer than card->broadcast_channel_allocated and device->node_id.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/fw-card.c
drivers/firewire/fw-device.c
drivers/firewire/fw-device.h
drivers/firewire/fw-topology.c
drivers/firewire/fw-transaction.h