On 2018-05-07 17:52:16 [+0200], To Tejun Heo wrote: > On 2018-05-07 08:49:08 [-0700], Tejun Heo wrote: > > Hello, Sebastian. Hi Tejun, > > On Fri, May 04, 2018 at 05:06:20PM +0200, Sebastian Andrzej Siewior wrote: > > > ata_sff_data_xfer_noirq() is invoked via the ->sff_data_xfer hook. The > > > latter is invoked by ata_pio_sector(), atapi_send_cdb() and > > > __atapi_pio_bytes() which in turn is invoked by ata_sff_hsm_move(). > > > The latter function requires that the "ap->lock" lock is held which > > > needs to be taken with disabled interrupts. > > > > > > There is no need have to have ata_sff_data_xfer_noirq() which invokes > > > ata_sff_data_xfer32() with disabled interrupts because at this point the > > > interrupts are already disabled. > > > Remove the function and its references to it and replace all callers > > > with ata_sff_data_xfer32(). > > > > Can you please add irq disabled assert to ata_sff_data_xfer*()? > > Why irq-disabled assert? Can we use lockdep_assert_held() instead? That irq-disabled assert won't work on RT as expected that is why I intend to remove the local_irq_save() (which is not needed). If we could avoid the irq-disabled assert or use a lock instead, then it wouldn't trigger another error on RT. > > Thanks. Sebastian -- 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