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) ...
This commit is contained in:
@ -185,7 +185,7 @@ struct mesh_state {
|
||||
* Driver is too messy, we need a few prototypes...
|
||||
*/
|
||||
static void mesh_done(struct mesh_state *ms, int start_next);
|
||||
static void mesh_interrupt(int irq, void *dev_id);
|
||||
static void mesh_interrupt(struct mesh_state *ms);
|
||||
static void cmd_complete(struct mesh_state *ms);
|
||||
static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd);
|
||||
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)
|
||||
dlog(ms, "intr b4 arb, intr/exc/err/fc=%.8x",
|
||||
MKWORD(mr->interrupt, mr->exception,
|
||||
mr->error, mr->fifo_count));
|
||||
mesh_interrupt(0, (void *)ms);
|
||||
mesh_interrupt(ms);
|
||||
if (ms->phase != arbitrating)
|
||||
return;
|
||||
}
|
||||
@ -504,7 +504,7 @@ static void mesh_start_cmd(struct mesh_state *ms, struct scsi_cmnd *cmd)
|
||||
dlog(ms, "intr after disresel, intr/exc/err/fc=%.8x",
|
||||
MKWORD(mr->interrupt, mr->exception,
|
||||
mr->error, mr->fifo_count));
|
||||
mesh_interrupt(0, (void *)ms);
|
||||
mesh_interrupt(ms);
|
||||
if (ms->phase != arbitrating)
|
||||
return;
|
||||
dlog(ms, "after intr after disresel, intr/exc/err/fc=%.8x",
|
||||
@ -1018,10 +1018,11 @@ static void handle_reset(struct mesh_state *ms)
|
||||
static irqreturn_t do_mesh_interrupt(int irq, void *dev_id)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct Scsi_Host *dev = ((struct mesh_state *)dev_id)->host;
|
||||
struct mesh_state *ms = dev_id;
|
||||
struct Scsi_Host *dev = ms->host;
|
||||
|
||||
spin_lock_irqsave(dev->host_lock, flags);
|
||||
mesh_interrupt(irq, dev_id);
|
||||
mesh_interrupt(ms);
|
||||
spin_unlock_irqrestore(dev->host_lock, flags);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
@ -1661,9 +1662,8 @@ static int mesh_queue(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
|
||||
* handler (do_mesh_interrupt) or by other functions in
|
||||
* exceptional circumstances
|
||||
*/
|
||||
static void mesh_interrupt(int irq, void *dev_id)
|
||||
static void mesh_interrupt(struct mesh_state *ms)
|
||||
{
|
||||
struct mesh_state *ms = (struct mesh_state *) dev_id;
|
||||
volatile struct mesh_regs __iomem *mr = ms->mesh;
|
||||
int intr;
|
||||
|
||||
|
Reference in New Issue
Block a user