Hello, Kirill. On Thu, Sep 26, 2013 at 05:21:19PM +0400, Kirill Tkhai wrote: > Hi, > > ata_port_wait_eh() uses spin_lock_irqsave() and this can confuse in fact > that it is suitable to use in irqs_disabled() context. But we can't. > > (schedule() returns with interrupts enabled so it's possible > ata_port_wait_eh() enters with disabled interrupts but returns with enabled) > > So, replace irqsave to unconditional closing of interrupts. > > I propose to consider to add patch like this. (If you don't have a magic > with flags which is not obvious for me :) Hmmm... yeah, this was Jeff's preference, at least way back, so libata has a lot of spin_lock_irqsave()'s where spin_lock_irq() should do. At this point, I don't really mind either way but if you wanna change it can you please do a full sweep through libata? While I don't mind either state too much, I do want them to be mostly consistent one way or the other. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html