From: Wei Yongjun <weiyongj...@huawei.com> free_irq() expects the same device identity that was passed to corresponding request_irq(), otherwise the IRQ is not freed.
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com> Signed-off-by: Finn Thain <fth...@telegraphics.com.au> --- Rebased on jejb-scsi/misc. diff --git a/drivers/scsi/mac_esp.c b/drivers/scsi/mac_esp.c index 26c67c4..999699d 100644 --- a/drivers/scsi/mac_esp.c +++ b/drivers/scsi/mac_esp.c @@ -587,7 +587,7 @@ static int esp_mac_probe(struct platform_device *dev) esp_chips[dev->id] = NULL; if (esp_chips[!dev->id] == NULL) { spin_unlock(&esp_chips_lock); - free_irq(host->irq, esp); + free_irq(host->irq, NULL); } else spin_unlock(&esp_chips_lock); fail_free_priv: