[SCSI] NCR5380: Fix bugs and canonicalize irq handler usage
* Always pass the same value to free_irq() that we pass to request_irq(). This fixes several bugs. * Always call NCR5380_intr() with 'irq' and 'dev_id' arguments. Note, scsi_falcon_intr() is the only case now where dev_id is not the scsi_host. * Always pass Scsi_Host to request_irq(). For most cases, the drivers already did so, and I merely neated the source code line. In other cases, either NULL or a non-sensical value was passed, verified to be unused, then changed to be Scsi_Host in anticipation of the future. In addition to the bugs fixes, this change makes the interface usage consistent, which in turn enables the possibility of directly referencing Scsi_Host from all NCR5380_intr() invocations. Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:

committed by
James Bottomley

szülő
86e8dfc560
commit
1e64166430
@@ -230,7 +230,7 @@ static int sun3scsi_detect(struct scsi_host_template * tpnt)
|
||||
((struct NCR5380_hostdata *)instance->hostdata)->ctrl = 0;
|
||||
|
||||
if (request_irq(instance->irq, scsi_sun3_intr,
|
||||
0, "Sun3SCSI-5380VME", NULL)) {
|
||||
0, "Sun3SCSI-5380VME", instance)) {
|
||||
#ifndef REAL_DMA
|
||||
printk("scsi%d: IRQ%d not free, interrupts disabled\n",
|
||||
instance->host_no, instance->irq);
|
||||
@@ -279,7 +279,7 @@ static int sun3scsi_detect(struct scsi_host_template * tpnt)
|
||||
int sun3scsi_release (struct Scsi_Host *shpnt)
|
||||
{
|
||||
if (shpnt->irq != SCSI_IRQ_NONE)
|
||||
free_irq (shpnt->irq, NULL);
|
||||
free_irq(shpnt->irq, shpnt);
|
||||
|
||||
iounmap((void *)sun3_scsi_regp);
|
||||
|
||||
|
Reference in New Issue
Block a user