]> 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)
commit5dac3fb58126f02e75f42feabb8e4c9de01bc4d4
treeb33c08bc0d9dffc196d10d9b5298f7152bc47473
parent70a2a846397048a9f6c2d29830c17006aca3e0c4
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