diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2010-06-10 08:37:15 +0200 |
---|---|---|
committer | Clemens Ladisch <clemens@ladisch.de> | 2010-06-10 08:37:15 +0200 |
commit | 7e0e314f198d5048b74c8f0ef9f4c1c02e5ecfc9 (patch) | |
tree | 513fcf8f87f6b24121d4e4eb07e1345e29d81db2 /drivers/firewire/core-card.c | |
parent | 4ffb7a6a066e4be4577976d1c08e237c7479770a (diff) | |
download | blackbird-op-linux-7e0e314f198d5048b74c8f0ef9f4c1c02e5ecfc9.tar.gz blackbird-op-linux-7e0e314f198d5048b74c8f0ef9f4c1c02e5ecfc9.zip |
firewire: core: add CSR abdicate support
Implement the abdicate bit, which is required for bus manager
capable nodes and tested by the Base 1394 Test Suite.
Finally, something to do at a command reset! :-)
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'drivers/firewire/core-card.c')
-rw-r--r-- | drivers/firewire/core-card.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c index d0f15c2f1e1d..7c4cf6cfa746 100644 --- a/drivers/firewire/core-card.c +++ b/drivers/firewire/core-card.c @@ -260,7 +260,8 @@ static void fw_card_bm_work(struct work_struct *work) grace = time_after(jiffies, card->reset_jiffies + DIV_ROUND_UP(HZ, 8)); - if (is_next_generation(generation, card->bm_generation) || + if ((is_next_generation(generation, card->bm_generation) && + !card->bm_abdicate) || (card->bm_generation != generation && grace)) { /* * This first step is to figure out who is IRM and |