aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/core-card.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c
index 9dcb30466ec0..901435cdd5c2 100644
--- a/drivers/firewire/core-card.c
+++ b/drivers/firewire/core-card.c
@@ -306,6 +306,16 @@ static void fw_card_bm_work(struct work_struct *work)
306 goto out; 306 goto out;
307 } 307 }
308 308
309 if (rcode == RCODE_SEND_ERROR) {
310 /*
311 * We have been unable to send the lock request due to
312 * some local problem. Let's try again later and hope
313 * that the problem has gone away by then.
314 */
315 fw_schedule_bm_work(card, DIV_ROUND_UP(HZ, 8));
316 goto out;
317 }
318
309 spin_lock_irqsave(&card->lock, flags); 319 spin_lock_irqsave(&card->lock, flags);
310 320
311 if (rcode != RCODE_COMPLETE) { 321 if (rcode != RCODE_COMPLETE) {