diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2018-07-11 17:21:05 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2018-07-11 10:45:28 -0700 |
commit | 23ebda2fc715534d383d59ae6740d4e3ebd43798 (patch) | |
tree | a94766bcc0e926fffa87fa941adb25787e1c923f /drivers/ata/libata-sff.c | |
parent | aece27a2f01be4bb7683790f69cd1bed3a0929a2 (diff) | |
download | lwn-23ebda2fc715534d383d59ae6740d4e3ebd43798.tar.gz lwn-23ebda2fc715534d383d59ae6740d4e3ebd43798.zip |
libata: remove ata_sff_data_xfer_noirq()
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().
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/libata-sff.c')
-rw-r--r-- | drivers/ata/libata-sff.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index cc2f2e35f4c2..c5ea0fc635e5 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c @@ -658,36 +658,6 @@ unsigned int ata_sff_data_xfer32(struct ata_queued_cmd *qc, unsigned char *buf, EXPORT_SYMBOL_GPL(ata_sff_data_xfer32); /** - * ata_sff_data_xfer_noirq - Transfer data by PIO - * @qc: queued command - * @buf: data buffer - * @buflen: buffer length - * @rw: read/write - * - * Transfer data from/to the device data register by PIO. Do the - * transfer with interrupts disabled. - * - * LOCKING: - * Inherited from caller. - * - * RETURNS: - * Bytes consumed. - */ -unsigned int ata_sff_data_xfer_noirq(struct ata_queued_cmd *qc, unsigned char *buf, - unsigned int buflen, int rw) -{ - unsigned long flags; - unsigned int consumed; - - local_irq_save(flags); - consumed = ata_sff_data_xfer32(qc, buf, buflen, rw); - local_irq_restore(flags); - - return consumed; -} -EXPORT_SYMBOL_GPL(ata_sff_data_xfer_noirq); - -/** * ata_pio_sector - Transfer a sector of data. * @qc: Command on going * |