diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 23:32:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 23:32:16 -0400 |
commit | 6ec129c3a2f8b38bc37e42348470ccfcb7460146 (patch) | |
tree | 3f11a99b9680728951b371fe12b5e01b6fc545a4 /drivers/scsi/mesh.c | |
parent | 01e73be3c8f254ef19d787f9b6757468175267eb (diff) | |
parent | b64ddf96456cde17be22bf74cafed381a29d58ba (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (58 commits)
[SCSI] zfcp: clear boxed flag on unit reopen.
[SCSI] zfcp: clear adapter failed flag if an fsf request times out.
[SCSI] zfcp: rework request ID management.
[SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI
[SCSI] zfcp: Locking for req_no and req_seq_no
[SCSI] zfcp: print S_ID and D_ID with 3 bytes
[SCSI] ipr: Use PCI-E reset API for new ipr adapter
[SCSI] qla2xxx: Update version number to 8.01.07-k7.
[SCSI] qla2xxx: Add MSI support.
[SCSI] qla2xxx: Correct pci_set_msi() usage semantics.
[SCSI] qla2xxx: Attempt to stop firmware only if it had been previously executed.
[SCSI] qla2xxx: Honor NVRAM port-down-retry-count settings.
[SCSI] qla2xxx: Error-out during probe() if we're unable to complete HBA initialization.
[SCSI] zfcp: Stop system after memory corruption
[SCSI] mesh: cleanup variable usage in interrupt handler
[SCSI] megaraid: replace yield() with cond_resched()
[SCSI] megaraid: fix warnings when CONFIG_PROC_FS=n
[SCSI] aacraid: correct SUN products to README
[SCSI] aacraid: superfluous adapter reset for IBM 8 series ServeRAID controllers
[SCSI] aacraid: kexec fix (reset interrupt handler)
...
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 | ||