Merge HEAD from master.kernel.org:/home/rmk/linux-2.6-serial.git
[powerpc.git] / drivers / scsi / eata_pio.c
index 0ee49dc..42c6e35 100644 (file)
@@ -449,7 +449,7 @@ static int eata_pio_abort(struct scsi_cmnd *cmd)
 {
        uint loop = HZ;
 
-       DBG(DBG_ABNORM, printk(KERN_WARNING "eata_pio_abort called pid: %ld " "target: %x lun: %x reason %x\n", cmd->pid, cmd->device->id, cmd->device->lun, cmd->abort_reason));
+       DBG(DBG_ABNORM, printk(KERN_WARNING "eata_pio_abort called pid: %ld " "target: %x lun: %x\n", cmd->pid, cmd->device->id, cmd->device->lun));
 
 
        while (inb(cmd->device->host->base + HA_RAUXSTAT) & HA_ABUSY)
@@ -484,10 +484,13 @@ static int eata_pio_host_reset(struct scsi_cmnd *cmd)
        struct scsi_cmnd *sp;
        struct Scsi_Host *host = cmd->device->host;
 
-       DBG(DBG_ABNORM, printk(KERN_WARNING "eata_pio_reset called pid:%ld target:" " %x lun: %x reason %x\n", cmd->pid, cmd->device->id, cmd->device->lun, cmd->abort_reason));
+       DBG(DBG_ABNORM, printk(KERN_WARNING "eata_pio_reset called pid:%ld target:" " %x lun: %x\n", cmd->pid, cmd->device->id, cmd->device->lun));
+
+       spin_lock_irq(host->host_lock);
 
        if (HD(cmd)->state == RESET) {
                printk(KERN_WARNING "eata_pio_reset: exit, already in reset.\n");
+               spin_unlock_irq(host->host_lock);
                return FAILED;
        }
 
@@ -536,6 +539,8 @@ static int eata_pio_host_reset(struct scsi_cmnd *cmd)
 
        HD(cmd)->state = 0;
 
+       spin_unlock_irq(host->host_lock);
+
        if (success) {          /* hmmm... */
                DBG(DBG_ABNORM, printk(KERN_WARNING "eata_pio_reset: exit, success.\n"));
                return SUCCESS;