From: Wei Yongjun <[email protected]> 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 <[email protected]> Signed-off-by: Finn Thain <[email protected]> --- 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:

