diff options
| author | Niklas Cassel <cassel@kernel.org> | 2025-12-04 16:18:04 +0300 |
|---|---|---|
| committer | Damien Le Moal <dlemoal@kernel.org> | 2025-12-15 10:32:04 +0300 |
| commit | e8fe098170142416f11a0cae201254cd779f7fe9 (patch) | |
| tree | e36eefb16d107be7c01741d23e973532bd96363c | |
| parent | 8f0b4cce4481fb22653697cced8d0d04027cb1e8 (diff) | |
| download | linux-e8fe098170142416f11a0cae201254cd779f7fe9.tar.xz | |
ata: libata-scsi: Remove superfluous local_irq_save()
Commit 28a3fc2295a7 ("libata: implement ZBC IN translation") added
ata_scsi_report_zones_complete(). Since the beginning, this function
has disabled IRQs on the local CPU using local_irq_save().
qc->complete_fn is always called with ap->lock held, and the ap->lock
is always taken using spin_lock_irq*().
Thus, this local_irq_save() is superfluous and can be removed.
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
| -rw-r--r-- | drivers/ata/libata-scsi.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 721d3f270c8e..244d10e48472 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -3573,13 +3573,13 @@ static void ata_scsi_report_zones_complete(struct ata_queued_cmd *qc) { struct scsi_cmnd *scmd = qc->scsicmd; struct sg_mapping_iter miter; - unsigned long flags; unsigned int bytes = 0; + lockdep_assert_held(qc->ap->lock); + sg_miter_start(&miter, scsi_sglist(scmd), scsi_sg_count(scmd), SG_MITER_TO_SG | SG_MITER_ATOMIC); - local_irq_save(flags); while (sg_miter_next(&miter)) { unsigned int offset = 0; @@ -3627,7 +3627,6 @@ static void ata_scsi_report_zones_complete(struct ata_queued_cmd *qc) } } sg_miter_stop(&miter); - local_irq_restore(flags); ata_scsi_qc_complete(qc); } |
