From 4260071e0d7307e95bd2231137a3709977106872 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Tue, 25 Aug 2009 13:59:08 -0700 Subject: [PATCH] --- yaml --- r: 161119 b: refs/heads/master c: a4b7cfaee487caef913be978dce60896fe741268 h: refs/heads/master i: 161117: b41295fb982db836beb4cb234c2d93a664d43a0b 161115: e2a5dba84e1061416427d505e5752b874418eb14 161111: 166867a8c2f66b2a586d667553042e5c72970c16 161103: 1fa86e160b0dfd2a9311c31813038160d14d0f8b 161087: 9e9e5d66b470d7d7e15fcd32654386ab1b0ef7c6 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/fcoe/libfcoe.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6c4fe2dbd07c..1fd29c7a7a77 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 05cc7390735c49357b9ae67bf97f1c1579547f5b +refs/heads/master: a4b7cfaee487caef913be978dce60896fe741268 diff --git a/trunk/drivers/scsi/fcoe/libfcoe.c b/trunk/drivers/scsi/fcoe/libfcoe.c index d0b5208e1a45..62a4c2026072 100644 --- a/trunk/drivers/scsi/fcoe/libfcoe.c +++ b/trunk/drivers/scsi/fcoe/libfcoe.c @@ -148,13 +148,17 @@ static void fcoe_ctlr_reset_fcfs(struct fcoe_ctlr *fip) */ void fcoe_ctlr_destroy(struct fcoe_ctlr *fip) { - flush_work(&fip->recv_work); + cancel_work_sync(&fip->recv_work); + spin_lock_bh(&fip->fip_recv_list.lock); + __skb_queue_purge(&fip->fip_recv_list); + spin_unlock_bh(&fip->fip_recv_list.lock); + spin_lock_bh(&fip->lock); fip->state = FIP_ST_DISABLED; fcoe_ctlr_reset_fcfs(fip); spin_unlock_bh(&fip->lock); del_timer_sync(&fip->timer); - flush_work(&fip->link_work); + cancel_work_sync(&fip->link_work); } EXPORT_SYMBOL(fcoe_ctlr_destroy);