> @@ -189,7 +189,7 @@ int sas_queue_up(struct sas_task *task) > * Note: XXX: Remove the host unlock/lock pair when SCSI Core can > * call us without holding an IRQ spinlock... That comment can be removed now. > */ > -static int sas_queuecommand_lck(struct scsi_cmnd *cmd, That's now how the code looks like upstream. > +static int sas_queuecommand_irq_disable(struct scsi_cmnd *cmd, > void (*scsi_done)(struct scsi_cmnd *)) > __releases(host->host_lock) > __acquires(dev->sata_dev.ap->lock) The host_lock annotations are not incorrect, and the sata_dev ones never made sense. > @@ -254,7 +254,7 @@ out: > return res; > } > > -DEF_SCSI_QCMD(sas_queuecommand) > +IRQ_DISABLE_SCSI_QCMD(sas_queuecommand) And in addition this doesn't even seem correct to me. First thing sas_queuecommand upstream does is spin_unlock_irq on the host_lock which it expects to be held, then it does a spin_lock_irqsave for the sata case, or operations that do not appear to need a lock for the sas case. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html