linux-stable/drivers
Igor Pylypiv 646699498b ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error
commit 28ab976911 upstream.

SAT-5 revision 8 specification removed the text about the ANSI INCITS
431-2007 compliance which was requiring SCSI/ATA Translation (SAT) to
return descriptor format sense data for the ATA PASS-THROUGH commands
regardless of the setting of the D_SENSE bit.

Let's honor the D_SENSE bit for ATA PASS-THROUGH commands while
generating the "ATA PASS-THROUGH INFORMATION AVAILABLE" sense data.

SAT-5 revision 7
================

12.2.2.8 Fixed format sense data

Table 212 shows the fields returned in the fixed format sense data
(see SPC-5) for ATA PASS-THROUGH commands. SATLs compliant with ANSI
INCITS 431-2007, SCSI/ATA Translation (SAT) return descriptor format
sense data for the ATA PASS-THROUGH commands regardless of the setting
of the D_SENSE bit.

SAT-5 revision 8
================

12.2.2.8 Fixed format sense data

Table 211 shows the fields returned in the fixed format sense data
(see SPC-5) for ATA PASS-THROUGH commands.

Cc: stable@vger.kernel.org # 4.19+
Reported-by: Niklas Cassel <cassel@kernel.org>
Closes: https://lore.kernel.org/linux-ide/Zn1WUhmLglM4iais@ryzen.lan
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Igor Pylypiv <ipylypiv@google.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20240702024735.1152293-4-ipylypiv@google.com
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-03 08:49:32 +02:00
..
accessibility speakup: Fix sizeof() vs ARRAY_SIZE() bug 2024-06-12 11:02:55 +02:00
acpi ACPI: EC: Avoid returning AE_OK on errors in address space handler 2024-07-25 09:49:08 +02:00
amba
android binder: fix max_thread type inconsistency 2024-05-25 16:21:34 +02:00
ata ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error 2024-08-03 08:49:32 +02:00
atm atm: idt77252: fix a memleak in open_card_ubr0 2024-02-16 19:06:26 +01:00
auxdisplay auxdisplay: hd44780: move cursor home after clear display command 2023-12-08 08:51:16 +01:00
base regmap-i2c: Subtract reg size from max_write 2024-07-11 12:47:17 +02:00
bcma
block null_blk: fix validation of block size 2024-07-25 09:49:11 +02:00
bluetooth Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot 2024-07-11 12:47:14 +02:00
bus bus: mhi: host: Add MHI_PM_SYS_ERR_FAIL state 2024-04-13 13:05:16 +02:00
cdrom cdrom: rearrange last_media_change check to avoid unintentional overflow 2024-07-11 12:47:10 +02:00
char char: tpm: Fix possible memory leak in tpm_bios_measurements_open() 2024-08-03 08:49:31 +02:00
clk clk: en7523: fix rate divider for slic and spi clocks 2024-08-03 08:49:22 +02:00
clocksource clocksource/drivers/arm_global_timer: Fix maximum prescaler value 2024-04-03 15:19:44 +02:00
comedi comedi: vmk80xx: fix incomplete endpoint checking 2024-04-27 17:07:14 +02:00
connector
counter counter: ti-eqep: enable clock at probe 2024-07-05 09:31:53 +02:00
cpufreq cpufreq: ti-cpufreq: Handle deferred probe with dev_err_probe() 2024-08-03 08:48:58 +02:00
cpuidle cpuidle: Avoid potential overflow in integer multiplication 2024-04-13 13:04:54 +02:00
crypto crypto: qat - extend scope of lock in adf_cfg_add_key_value_param() 2024-08-03 08:49:21 +02:00
cxl cxl/pci: Fix disabling memory if DVSEC CXL Range does not match a CFMWS window 2024-03-01 13:26:31 +01:00
dax
dca
devfreq PM / devfreq: Synchronize devfreq_monitor_[start/stop] 2024-02-05 20:12:47 +00:00
dio
dma dmaengine: ioatdma: Fix missing kmem_cache_destroy() 2024-06-27 13:46:20 +02:00
dma-buf dma-buf/sw-sync: don't enable IRQ from sync_print_obj() 2024-06-12 11:03:55 +02:00
edac EDAC, i10nm: make skx_common.o a separate module 2024-08-03 08:48:52 +02:00
eisa
extcon extcon: max8997: select IRQ_DOMAIN instead of depending on it 2024-06-12 11:03:41 +02:00
firewire firewire: nosy: ensure user_length is taken into account when fetching packet contents 2024-05-17 11:56:16 +02:00
firmware x86/efistub: Revert to heap allocated boot_params for PE entrypoint 2024-08-03 08:49:30 +02:00
fpga fpga: region: add owner module and take its refcount 2024-06-12 11:03:39 +02:00
fsi
gnss
gpio gpio: pca953x: fix pca953x_irq_bus_sync_unlock race 2024-07-25 09:49:15 +02:00
gpu drm/qxl: Add check for drm_cvt_mode 2024-08-03 08:49:14 +02:00
greybus greybus: Fix use-after-free bug in gb_interface_release due to race condition. 2024-06-21 14:36:00 +02:00
hid HID: Ignore battery for ELAN touchscreens 2F2C and 4116 2024-07-25 09:49:11 +02:00
hsi
hte hte: tegra: Fix missing error code in tegra_hte_test_probe() 2023-11-20 11:51:58 +01:00
hv Drivers: hv: vmbus: Don't free ring buffers that couldn't be re-encrypted 2024-05-17 11:56:08 +02:00
hwmon hwmon: (max6697) Fix swapped temp{1,8} critical alarms 2024-08-03 08:48:56 +02:00
hwspinlock
hwtracing coresight: Fix ref leak when of_coresight_parse_endpoint() fails 2024-08-03 08:49:18 +02:00
i2c i2c: rcar: fix error code in probe() 2024-07-18 13:18:44 +02:00
i3c i3c: master: svc: fix invalidate IBI type and miss call client IBI handler 2024-06-16 13:41:41 +02:00
idle
iio iio: frequency: adrf6780: rm clk provider include 2024-08-03 08:49:17 +02:00
infiniband bnxt_re: Fix imm_data endianness 2024-08-03 08:49:24 +02:00
input Input: elan_i2c - do not leave interrupt disabled on suspend failure 2024-08-03 08:49:21 +02:00
interconnect interconnect: qcom: qcm2290: Fix mas_snoc_bimc RPM master ID 2024-08-03 08:49:19 +02:00
iommu iommu/vt-d: Fix identity map bounds in si_domain_init() 2024-08-03 08:49:23 +02:00
ipack
irqchip irqchip/loongson-liointc: Set different ISRs for different cores 2024-07-05 09:31:57 +02:00
isdn
leds Revert "leds: led-core: Fix refcount leak in of_led_get()" 2024-08-03 08:49:14 +02:00
macintosh macintosh/therm_windtunnel: fix module unload. 2024-08-03 08:49:22 +02:00
mailbox mailbox: arm_mhuv2: Fix a bug for mhuv2_sender_interrupt 2024-02-05 20:12:58 +00:00
mcb mcb: fix error handling for different scenarios when parsing 2023-11-28 17:07:13 +00:00
md md: fix deadlock between mddev_suspend and flush bio 2024-08-03 08:48:52 +02:00
media media: venus: fix use after free in vdec_close 2024-08-03 08:49:32 +02:00
memory memory: fsl_ifc: Make FSL_IFC config visible and selectable 2024-08-03 08:48:58 +02:00
memstick
message
mfd mfd: omap-usb-tll: Use struct_size to allocate tll 2024-08-03 08:49:15 +02:00
misc mei: demote client disconnect warning on suspend to debug 2024-07-25 09:49:12 +02:00
mmc mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro() 2024-07-05 09:31:53 +02:00
most
mtd mtd: make mtd_test.c a separate module 2024-08-03 08:49:20 +02:00
mux
net net: netconsole: Disable target before netpoll cleanup 2024-08-03 08:49:30 +02:00
nfc nfc/nci: Add the inconsistency check between the input data length and count 2024-07-11 12:47:18 +02:00
ntb NTB: fix possible name leak in ntb_register_device() 2024-03-26 18:20:49 -04:00
nubus
nvdimm nd_btt: Make BTT lanes preemptible 2023-11-20 11:52:05 +01:00
nvme nvmet-auth: fix nvmet_auth hash error handling 2024-08-03 08:48:55 +02:00
nvmem nvmem: core: only change name to fram for current attribute 2024-07-18 13:18:40 +02:00
of of/irq: Disable "interrupt-map" parsing for PASEMI Nemo 2024-07-25 09:49:20 +02:00
opp OPP: ti: Fix ti_opp_supply_probe wrong return values 2024-08-03 08:48:58 +02:00
parisc parisc/power: Fix power soft-off button emulation on qemu 2024-01-31 16:16:59 -08:00
parport parport: parport_serial: Add Brainboxes device IDs and geometry 2024-01-20 11:50:11 +01:00
pci PCI: dwc: Fix index 0 incorrectly being interpreted as a free ATU slot 2024-08-03 08:49:22 +02:00
pcmcia pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() 2023-11-20 11:52:13 +01:00
peci
perf drivers/perf: riscv: Reset the counter to hpmevent mapping while starting cpus 2024-07-25 09:49:18 +02:00
phy phy: ti: tusb1210: Resolve charger-det crash if charger psy is unregistered 2024-05-02 16:29:31 +02:00
pinctrl pinctrl: renesas: r8a779g0: Fix TPU suffixes 2024-08-03 08:49:28 +02:00
platform platform/chrome: cros_ec_debugfs: fix wrong EC message version 2024-08-03 08:48:52 +02:00
pnp PNP: ACPI: fix fortify warning 2024-02-05 20:12:47 +00:00
power power: supply: cros_usbpd: provide ID table for avoiding fallback match 2024-06-27 13:46:17 +02:00
powercap powercap: dtpm_cpu: Fix error check against freq_qos_add_request() 2024-03-26 18:20:36 -04:00
pps
ps3
ptp ptp: fix integer overflow in max_vclocks_store 2024-06-27 13:46:19 +02:00
pwm pwm: atmel-tcb: Fix race condition and convert to guards 2024-08-03 08:48:55 +02:00
rapidio
ras
regulator regulator: bd71815: fix ramp values 2024-06-27 13:46:21 +02:00
remoteproc remoteproc: k3-r5: Jump to error handling labels in start/stop errors 2024-06-21 14:35:59 +02:00
reset reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning 2024-01-20 11:50:07 +01:00
rpmsg rpmsg: virtio: Free driver_override when rpmsg_remove() 2024-01-31 16:16:59 -08:00
rtc rtc: interface: Add RTC offset to alarm after fix-up 2024-08-03 08:49:28 +02:00
s390 s390/dasd: fix error checks in dasd_copy_pair_store() 2024-08-03 08:49:29 +02:00
sbus
scsi scsi: libsas: Fix exp-attached device scan after probe failure scanned in again after probe failed 2024-07-25 09:49:17 +02:00
sh
siox
slimbus slimbus: qcom-ngd-ctrl: Add timeout for wait operation 2024-05-17 11:56:20 +02:00
soc soc: qcom: pdr: fix parsing of domains lists 2024-08-03 08:48:58 +02:00
soundwire soundwire: cadence: fix invalid PDI offset 2024-06-12 11:03:34 +02:00
spi spi: atmel-quadspi: Add missing check for clk_prepare 2024-08-03 08:48:52 +02:00
spmi spmi: hisi-spmi-controller: Do not override device identifier 2024-06-21 14:35:55 +02:00
ssb
staging greybus: arche-ctrl: move device table to its right location 2024-06-12 11:03:35 +02:00
target scsi: target: Fix SELinux error when systemd-modules loads the target module 2024-05-17 11:56:07 +02:00
tc
tee tee: optee: ffa: Fix missing-field-initializers warning 2024-07-25 09:49:17 +02:00
thermal thermal/drivers/qcom/lmh: Check for SCM availability at probe 2024-06-16 13:41:33 +02:00
thunderbolt thunderbolt: debugfs: Fix margin debugfs node creation condition 2024-06-21 14:35:44 +02:00
tty serial: imx: Raise TX trigger level to 8 2024-07-11 12:47:09 +02:00
ufs scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5 2024-06-12 11:03:33 +02:00
uio uio_hv_generic: Don't free decrypted memory 2024-05-17 11:56:08 +02:00
usb xhci: always resume roothubs if xHC was reset during resume 2024-07-18 13:18:39 +02:00
vdpa vduse: Temporarily fail if control queue feature requested 2024-07-05 09:31:48 +02:00
vfio VFIO: Add the SPR_DSA and SPR_IAX devices to the denylist 2024-05-17 11:56:23 +02:00
vhost vhost/vsock: always initialize seqpacket_allow 2024-08-03 08:49:21 +02:00
video fbdev: savage: Handle err return when savagefb_check_var failed 2024-06-16 13:41:36 +02:00
virt drivers/virt/acrn: fix PFNMAP PTE checks in acrn_vm_ram_map() 2024-06-12 11:03:30 +02:00
virtio virtio: delete vq in vp_find_vqs_msix() when request_irq() fails 2024-06-12 11:03:52 +02:00
vlynq
w1
watchdog watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin 2024-06-16 13:41:39 +02:00
xen drivers/xen: Improve the late XenStore init protocol 2024-06-12 11:03:53 +02:00
zorro
Kconfig
Makefile