From 70493ca33c5fe548003ba71d9f81772424e4dd5d Mon Sep 17 00:00:00 2001 From: Pete Zaitcev Date: Thu, 5 Jan 2006 00:14:02 -0800 Subject: [PATCH] --- yaml --- r: 19183 b: refs/heads/master c: b31f821c6dee6f3ecfca6b2583a6552538fb91bf h: refs/heads/master i: 19181: d8592c8349795df3e9b7c41bcf8a358080a8cb8a 19179: 6dcc24c8fc713189e042116ba0ca36f95b050de7 19175: 198c1b8cf526f43f3af74dc0a917ee612d985002 19167: 06c6e68618d4c7b5570d5893b181d35d518a5521 v: v3 --- [refs] | 2 +- trunk/drivers/block/ub.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index cb0be177cb52..b0a87239a716 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 65b4fe553bf43018c06740f3d1f6caf42cf95924 +refs/heads/master: b31f821c6dee6f3ecfca6b2583a6552538fb91bf diff --git a/trunk/drivers/block/ub.c b/trunk/drivers/block/ub.c index db4943c53d36..c3600cb36365 100644 --- a/trunk/drivers/block/ub.c +++ b/trunk/drivers/block/ub.c @@ -1106,7 +1106,8 @@ static void ub_urb_timeout(unsigned long arg) unsigned long flags; spin_lock_irqsave(sc->lock, flags); - usb_unlink_urb(&sc->work_urb); + if (!ub_is_completed(&sc->work_done)) + usb_unlink_urb(&sc->work_urb); spin_unlock_irqrestore(sc->lock, flags); } @@ -1131,7 +1132,6 @@ static void ub_scsi_action(unsigned long _dev) unsigned long flags; spin_lock_irqsave(sc->lock, flags); - del_timer(&sc->work_timer); ub_scsi_dispatch(sc); spin_unlock_irqrestore(sc->lock, flags); } @@ -1155,6 +1155,7 @@ static void ub_scsi_dispatch(struct ub_dev *sc) } else { if (!ub_is_completed(&sc->work_done)) break; + del_timer(&sc->work_timer); ub_scsi_urb_compl(sc, cmd); } }