diff options
Diffstat (limited to 'drivers/firewire/fw-card.c')
-rw-r--r-- | drivers/firewire/fw-card.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/firewire/fw-card.c b/drivers/firewire/fw-card.c index f2b363ea443e..b3463b8d8c60 100644 --- a/drivers/firewire/fw-card.c +++ b/drivers/firewire/fw-card.c | |||
@@ -368,9 +368,11 @@ static void fw_card_bm_work(struct work_struct *work) | |||
368 | atomic_read(&root_device->state) == FW_DEVICE_RUNNING; | 368 | atomic_read(&root_device->state) == FW_DEVICE_RUNNING; |
369 | root_device_is_cmc = root_device && root_device->cmc; | 369 | root_device_is_cmc = root_device && root_device->cmc; |
370 | root_id = root_node->node_id; | 370 | root_id = root_node->node_id; |
371 | grace = time_after(jiffies, card->reset_jiffies + DIV_ROUND_UP(HZ, 10)); | ||
372 | irm_device = irm_node->data; | 371 | irm_device = irm_node->data; |
373 | local_device = local_node->data; | 372 | local_device = local_node->data; |
373 | |||
374 | grace = time_after(jiffies, card->reset_jiffies + DIV_ROUND_UP(HZ, 8)); | ||
375 | |||
374 | if (is_next_generation(generation, card->bm_generation) || | 376 | if (is_next_generation(generation, card->bm_generation) || |
375 | (card->bm_generation != generation && grace)) { | 377 | (card->bm_generation != generation && grace)) { |
376 | /* | 378 | /* |
@@ -434,12 +436,11 @@ static void fw_card_bm_work(struct work_struct *work) | |||
434 | } | 436 | } |
435 | } else if (card->bm_generation != generation) { | 437 | } else if (card->bm_generation != generation) { |
436 | /* | 438 | /* |
437 | * OK, we weren't BM in the last generation, and it's | 439 | * We weren't BM in the last generation, and the last |
438 | * less than 100ms since last bus reset. Reschedule | 440 | * bus reset is less than 125ms ago. Reschedule this job. |
439 | * this task 100ms from now. | ||
440 | */ | 441 | */ |
441 | spin_unlock_irqrestore(&card->lock, flags); | 442 | spin_unlock_irqrestore(&card->lock, flags); |
442 | fw_schedule_bm_work(card, DIV_ROUND_UP(HZ, 10)); | 443 | fw_schedule_bm_work(card, DIV_ROUND_UP(HZ, 8)); |
443 | goto out; | 444 | goto out; |
444 | } | 445 | } |
445 | 446 | ||