diff options
Diffstat (limited to 'drivers/scsi/mesh.c')
-rw-r--r-- | drivers/scsi/mesh.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c index cf3666d7d97a..e64d1a19d8d7 100644 --- a/drivers/scsi/mesh.c +++ b/drivers/scsi/mesh.c | |||
@@ -185,7 +185,7 @@ struct mesh_state { | |||
185 | * Driver is too messy, we need a few prototypes... | 185 | * Driver is too messy, we need a few prototypes... |
186 | */ | 186 | */ |
187 | static void mesh_done(struct mesh_state *ms, int start_next); | 187 | static void mesh_done(struct mesh_state *ms, int start_next); |
188 | static void mesh_interrupt(int irq, void *dev_id); | 188 | static void mesh_interrupt(struct mesh_state *ms); |
189 | static void cmd_complete(struct mesh_state *ms); | 189 | static void cmd_complete(struct mesh_state *ms); |
190 | static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd); | 190 | static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd); |
191 | static void halt_dma(struct mesh_state *ms); | 191 | static void halt_dma(struct mesh_state *ms); |
@@ -466,7 +466,7 @@ static void mesh_start_cmd(struct mesh_state *ms, struct scsi_cmnd *cmd) | |||
466 | dlog(ms, "intr b4 arb, intr/exc/err/fc=%.8x", | 466 | dlog(ms, "intr b4 arb, intr/exc/err/fc=%.8x", |
467 | MKWORD(mr->interrupt, mr->exception, | 467 | MKWORD(mr->interrupt, mr->exception, |
468 | mr->error, mr->fifo_count)); | 468 | mr->error, mr->fifo_count)); |
469 | mesh_interrupt(0, (void *)ms); | 469 | mesh_interrupt(ms); |
470 | if (ms->phase != arbitrating) | 470 | if (ms->phase != arbitrating) |
471 | return; | 471 | return; |
472 | } | 472 | } |
@@ -504,7 +504,7 @@ static void mesh_start_cmd(struct mesh_state *ms, struct scsi_cmnd *cmd) | |||
504 | dlog(ms, "intr after disresel, intr/exc/err/fc=%.8x", | 504 | dlog(ms, "intr after disresel, intr/exc/err/fc=%.8x", |
505 | MKWORD(mr->interrupt, mr->exception, | 505 | MKWORD(mr->interrupt, mr->exception, |
506 | mr->error, mr->fifo_count)); | 506 | mr->error, mr->fifo_count)); |
507 | mesh_interrupt(0, (void *)ms); | 507 | mesh_interrupt(ms); |
508 | if (ms->phase != arbitrating) | 508 | if (ms->phase != arbitrating) |
509 | return; | 509 | return; |
510 | dlog(ms, "after intr after disresel, intr/exc/err/fc=%.8x", | 510 | dlog(ms, "after intr after disresel, intr/exc/err/fc=%.8x", |
@@ -1018,10 +1018,11 @@ static void handle_reset(struct mesh_state *ms) | |||
1018 | static irqreturn_t do_mesh_interrupt(int irq, void *dev_id) | 1018 | static irqreturn_t do_mesh_interrupt(int irq, void *dev_id) |
1019 | { | 1019 | { |
1020 | unsigned long flags; | 1020 | unsigned long flags; |
1021 | struct Scsi_Host *dev = ((struct mesh_state *)dev_id)->host; | 1021 | struct mesh_state *ms = dev_id; |
1022 | struct Scsi_Host *dev = ms->host; | ||
1022 | 1023 | ||
1023 | spin_lock_irqsave(dev->host_lock, flags); | 1024 | spin_lock_irqsave(dev->host_lock, flags); |
1024 | mesh_interrupt(irq, dev_id); | 1025 | mesh_interrupt(ms); |
1025 | spin_unlock_irqrestore(dev->host_lock, flags); | 1026 | spin_unlock_irqrestore(dev->host_lock, flags); |
1026 | return IRQ_HANDLED; | 1027 | return IRQ_HANDLED; |
1027 | } | 1028 | } |
@@ -1661,9 +1662,8 @@ static int mesh_queue(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) | |||
1661 | * handler (do_mesh_interrupt) or by other functions in | 1662 | * handler (do_mesh_interrupt) or by other functions in |
1662 | * exceptional circumstances | 1663 | * exceptional circumstances |
1663 | */ | 1664 | */ |
1664 | static void mesh_interrupt(int irq, void *dev_id) | 1665 | static void mesh_interrupt(struct mesh_state *ms) |
1665 | { | 1666 | { |
1666 | struct mesh_state *ms = (struct mesh_state *) dev_id; | ||
1667 | volatile struct mesh_regs __iomem *mr = ms->mesh; | 1667 | volatile struct mesh_regs __iomem *mr = ms->mesh; |
1668 | int intr; | 1668 | int intr; |
1669 | 1669 | ||