diff options
| author | Philip J Kelleher <pjk1939@linux.vnet.ibm.com> | 2013-02-25 14:09:40 -0500 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2013-03-11 14:53:55 -0400 |
| commit | 1ebfd109822ea35b71aee4efe9ddc2e1b9ac0ed7 (patch) | |
| tree | f2dd0444d11132e7ebe99a1be5314d34bdc0aa12 | |
| parent | 9bb3c4469e317919b0fde8c0e0a3ebe7bd2cf167 (diff) | |
block: IBM RamSan 70/80 error message bug fix.
This patch includes a simple change to the rsxx_pci_remove
function that caused error messages because traffic was halted
too early.
Signed-off-by: Philip J Kelleher <pjk1939@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
| -rw-r--r-- | drivers/block/rsxx/core.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/block/rsxx/core.c b/drivers/block/rsxx/core.c index b82ee7baf0e8..cbbdff113f46 100644 --- a/drivers/block/rsxx/core.c +++ b/drivers/block/rsxx/core.c | |||
| @@ -538,9 +538,6 @@ static void rsxx_pci_remove(struct pci_dev *dev) | |||
| 538 | rsxx_disable_ier_and_isr(card, CR_INTR_EVENT); | 538 | rsxx_disable_ier_and_isr(card, CR_INTR_EVENT); |
| 539 | spin_unlock_irqrestore(&card->irq_lock, flags); | 539 | spin_unlock_irqrestore(&card->irq_lock, flags); |
| 540 | 540 | ||
| 541 | /* Prevent work_structs from re-queuing themselves. */ | ||
| 542 | card->halt = 1; | ||
| 543 | |||
| 544 | cancel_work_sync(&card->event_work); | 541 | cancel_work_sync(&card->event_work); |
| 545 | 542 | ||
| 546 | rsxx_destroy_dev(card); | 543 | rsxx_destroy_dev(card); |
| @@ -549,6 +546,10 @@ static void rsxx_pci_remove(struct pci_dev *dev) | |||
| 549 | spin_lock_irqsave(&card->irq_lock, flags); | 546 | spin_lock_irqsave(&card->irq_lock, flags); |
| 550 | rsxx_disable_ier_and_isr(card, CR_INTR_ALL); | 547 | rsxx_disable_ier_and_isr(card, CR_INTR_ALL); |
| 551 | spin_unlock_irqrestore(&card->irq_lock, flags); | 548 | spin_unlock_irqrestore(&card->irq_lock, flags); |
| 549 | |||
| 550 | /* Prevent work_structs from re-queuing themselves. */ | ||
| 551 | card->halt = 1; | ||
| 552 | |||
| 552 | free_irq(dev->irq, card); | 553 | free_irq(dev->irq, card); |
| 553 | 554 | ||
| 554 | if (!force_legacy) | 555 | if (!force_legacy) |
