]> git.baikalelectronics.ru Git - kernel.git/commit
ata: libata-scsi: fix SYNCHRONIZE CACHE (16) command failure
authorShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Mon, 7 Nov 2022 04:02:29 +0000 (13:02 +0900)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Tue, 8 Nov 2022 06:08:25 +0000 (15:08 +0900)
commitbbe0d86a34697b1706a67e8ee9336b26a51377c0
treeb33c08bc0d9dffc196d10d9b5298f7152bc47473
parentb26ce59217f7494ff26e9aaf37b528aba6e488c2
ata: libata-scsi: fix SYNCHRONIZE CACHE (16) command failure

SAT SCSI/ATA Translation specification requires SCSI SYNCHRONIZE CACHE
(10) and (16) commands both shall be translated to ATA flush command.
Also, ZBC Zoned Block Commands specification mandates SYNCHRONIZE CACHE
(16) command support. However, libata translates only SYNCHRONIZE CACHE
(10). This results in SYNCHRONIZE CACHE (16) command failures on SATA
drives and then libata translation does not conform to ZBC. To avoid the
failure, add support for SYNCHRONIZE CACHE (16).

Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Cc: stable@vger.kernel.org
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
drivers/ata/libata-scsi.c