linux-stable/drivers
Alexander Atanasov d7ef2eeec2 scsi: core: Always send batch on reset or error handling command
commit 066c5b46b6 upstream.

In commit 8930a6c207 ("scsi: core: add support for request batching") the
block layer bd->last flag was mapped to SCMD_LAST and used as an indicator
to send the batch for the drivers that implement this feature. However, the
error handling code was not updated accordingly.

scsi_send_eh_cmnd() is used to send error handling commands and request
sense. The problem is that request sense comes as a single command that
gets into the batch queue and times out. As a result the device goes
offline after several failed resets. This was observed on virtio_scsi
during a device resize operation.

[  496.316946] sd 0:0:4:0: [sdd] tag#117 scsi_eh_0: requesting sense
[  506.786356] sd 0:0:4:0: [sdd] tag#117 scsi_send_eh_cmnd timeleft: 0
[  506.787981] sd 0:0:4:0: [sdd] tag#117 abort

To fix this always set SCMD_LAST flag in scsi_send_eh_cmnd() and
scsi_reset_ioctl().

Fixes: 8930a6c207 ("scsi: core: add support for request batching")
Cc: <stable@vger.kernel.org>
Signed-off-by: Alexander Atanasov <alexander.atanasov@virtuozzo.com>
Link: https://lore.kernel.org/r/20231215121008.2881653-1-alexander.atanasov@virtuozzo.com
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-01 12:42:45 +00:00
..
accel accel/ivpu/37xx: Fix interrupt_clear_with_0 WA initialization 2023-12-20 17:01:54 +01:00
accessibility
acpi iommu: Avoid more races around device probe 2023-12-08 08:52:19 +01:00
amba
android binder: fix memory leaks of spam and pending work 2023-10-05 12:48:08 +02:00
ata scsi: sd: Fix system start for ATA devices 2023-12-08 08:52:17 +01:00
atm atm: solos-pci: Fix potential deadlock on &tx_queue_lock 2023-12-20 17:01:46 +01:00
auxdisplay
base devcoredump: Send uevent once devcd is ready 2023-12-13 18:45:33 +01:00
bcma
block nbd: pass nbd_sock to nbd_read_reply() instead of index 2023-12-20 17:01:59 +01:00
bluetooth Bluetooth: Fix deadlock in vhci_send_frame 2024-01-01 12:42:31 +00:00
bus bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up 2023-09-13 10:24:53 +03:00
cache riscv: RISCV_NONSTANDARD_CACHE_OPS shouldn't depend on RISCV_DMA_NONCOHERENT 2023-10-26 09:42:37 +02:00
cdrom
cdx
char parisc/agp: Use 64-bit LE values in SBA IOMMU PDIR table 2023-11-28 17:20:00 +00:00
clk clk: qcom: ipq6018: drop the CLK_SET_RATE_PARENT flag from PLL clocks 2023-11-28 17:20:01 +00:00
clocksource clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware 2023-11-28 17:19:36 +00:00
comedi Revert "comedi: add HAS_IOPORT dependencies" 2023-09-12 15:49:20 +02:00
connector Fix NULL pointer dereference in cn_filter() 2023-10-24 10:53:45 +02:00
counter First set of Counter fixes for 6.6 2023-10-02 13:13:15 +02:00
cpufreq cpufreq/amd-pstate: Only print supported EPP values for performance governor 2023-12-08 08:52:25 +01:00
cpuidle
crypto crypto: hisilicon/qm - prevent soft lockup in receive loop 2023-11-28 17:19:44 +00:00
cxl cxl/hdm: Fix dpa translation locking 2023-12-20 17:02:01 +01:00
dax
dca
devfreq PM / devfreq: rockchip-dfi: Make pmu regmap mandatory 2023-11-20 11:59:00 +01:00
dio
dma dmaengine: fsl-edma: fix DMA channel leak in eDMAv4 2023-12-20 17:02:02 +01:00
dma-buf dma-buf: fix check in dma_resv_add_fence 2023-12-08 08:52:19 +01:00
edac
eisa
extcon
firewire scsi: Change SCSI device boolean fields to single bit flags 2023-12-08 08:52:17 +01:00
firmware efi/x86: Avoid physical KASLR on older Dell systems 2023-12-20 17:01:43 +01:00
fpga fpga: Fix memory leak for fpga_region_test_class_find() 2023-10-24 19:32:39 +02:00
fsi
gnss
gpio gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() 2024-01-01 12:42:35 +00:00
gpu drm/i915/dmc: Don't enable any pipe DMC events 2024-01-01 12:42:43 +00:00
greybus
hid HID: hid-asus: add const to read-only outgoing usb buffer 2023-12-20 17:02:00 +01:00
hsi
hte hte: tegra: Fix missing error code in tegra_hte_test_probe() 2023-11-20 11:59:08 +01:00
hv hyperv-next for v6.6 2023-09-04 11:26:29 -07:00
hwmon hwmon: (nzxt-kraken2) Fix error handling path in kraken2_probe() 2023-12-13 18:45:15 +01:00
hwspinlock
hwtracing coresight: ultrasoc-smb: Fix uninitialized before use buf_hw_base 2023-12-13 18:45:29 +01:00
i2c i2c: aspeed: Handle the coalesced stop conditions with the start conditions. 2024-01-01 12:42:35 +00:00
i3c i3c: master: svc: fix random hot join failure since timeout error 2023-11-28 17:20:06 +00:00
idle
iio iio: triggered-buffer: prevent possible freeing of wrong buffer 2024-01-01 12:42:38 +00:00
infiniband RDMA/mlx5: Change the key being sent for MPV device affiliation 2023-12-20 17:02:06 +01:00
input Input: soc_button_array - add mapping for airplane mode button 2024-01-01 12:42:41 +00:00
interconnect interconnect: qcom: sm8250: Enable sync_state 2024-01-01 12:42:36 +00:00
iommu iommu: Fix printk arg in of_iommu_get_resv_regions() 2023-12-08 08:52:25 +01:00
ipack
irqchip irqchip/gic-v3-its: Flush ITS tables correctly in non-coherent GIC designs 2023-12-03 07:33:02 +01:00
isdn isdn: mISDN: hfcsusb: Spelling fix in comment 2023-10-23 09:39:46 +01:00
leds leds: trigger: netdev: fix RTNL handling to prevent potential deadlock 2023-12-13 18:45:23 +01:00
macintosh
mailbox mailbox: qcom-ipcc: fix incorrect num_chans counting 2023-09-05 10:11:01 -05:00
mcb mcb: fix error handling for different scenarios when parsing 2023-11-28 17:20:05 +00:00
md bcache: avoid NULL checking to c->root in run_cache_set() 2023-12-20 17:01:56 +01:00
media media: qcom: camss: Fix csid-gen2 for test pattern generator 2023-11-28 17:20:15 +00:00
memory memory: tegra: Set BPMP msg flags to reset IPC channels 2023-11-20 11:59:17 +01:00
memstick
message
mfd mfd: qcom-spmi-pmic: Fix revid implementation 2023-11-28 17:20:03 +00:00
misc misc: mei: client.c: fix problem of return '-EOVERFLOW' in mei_cl_write 2023-12-13 18:45:29 +01:00
mmc mmc: block: Be sure to wait while busy in CQE error recovery 2023-12-08 08:52:16 +01:00
most
mtd mtd: cfi_cmdset_0001: Byte swap OTP info 2023-11-28 17:20:06 +00:00
mux
net net: stmmac: fix incorrect flag check in timestamp interrupt 2024-01-01 12:42:42 +00:00
nfc nfc: virtual_ncidev: Add variable to check if ndev is running 2023-12-20 17:01:59 +01:00
ntb
nubus
nvdimm nd_btt: Make BTT lanes preemptible 2023-11-20 11:59:19 +01:00
nvme nvme-pci: fix sleeping function called from interrupt context 2024-01-01 12:42:35 +00:00
nvmem nvmem: brcm_nvram: store a copy of NVRAM content 2024-01-01 12:42:44 +00:00
of of: dynamic: Fix of_reconfig_get_state_change() return value documentation 2023-12-13 18:45:03 +01:00
opp
parisc parisc/power: Fix power soft-off when running on qemu 2023-11-28 17:20:08 +00:00
parport parport: Add support for Brainboxes IX/UC/PX parallel cards 2023-12-13 18:45:32 +01:00
pci PCI: vmd: Fix potential deadlock when enabling ASPM 2023-12-20 17:01:54 +01:00
pcmcia pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() 2023-11-20 11:59:31 +01:00
peci
perf drivers: perf: Check find_first_bit() return value 2023-11-28 17:19:54 +00:00
phy Revert "phy: realtek: usb: Add driver for the Realtek SoC USB 2.0 PHY" 2023-12-03 07:33:08 +01:00
pinctrl pinctrl: at91-pio4: use dedicated lock class for IRQ 2024-01-01 12:42:35 +00:00
platform platform/x86/intel/pmc: Fix hang in pmc_core_send_ltr_ignore() 2024-01-01 12:42:26 +00:00
pmdomain pmdomain: imx: Make imx pgc power domain also set the fwnode 2023-11-28 17:20:00 +00:00
pnp
power power: supply: core: Use blocking_notifier_call_chain to avoid RCU complaint 2023-11-08 11:56:20 +01:00
powercap powercap: DTPM: Fix missing cpufreq_cpu_put() calls 2023-12-13 18:45:25 +01:00
pps
ps3
ptp ptp: annotate data-race around q->head and q->tail 2023-11-28 17:19:51 +00:00
pwm pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume 2023-11-20 11:59:34 +01:00
rapidio
ras
regulator regulator: qcom-rpmh: Fix smps4 regulator for pm8550ve 2023-11-20 11:59:07 +01:00
remoteproc remoteproc updates for v6.6 2023-09-04 15:12:26 -07:00
reset reset: Fix crash when freeing non-existent optional resets 2024-01-01 12:42:26 +00:00
rpmsg rpmsg updates for v6.6 2023-09-04 15:08:52 -07:00
rtc rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call 2023-11-20 11:59:30 +01:00
s390 s390/dasd: protect device queue against concurrent access 2023-12-03 07:33:07 +01:00
sbus
scsi scsi: core: Always send batch on reset or error handling command 2024-01-01 12:42:45 +00:00
sh
siox
slimbus
soc soc: qcom: pmic: Fix resource leaks in a device_for_each_child_node() loop 2023-11-28 17:19:41 +00:00
soundwire soundwire: stream: fix NULL pointer dereference for multi_link 2023-12-20 17:02:01 +01:00
spi spi: atmel: Fix clock issue when using devices with different polarities 2024-01-01 12:42:44 +00:00
spmi
ssb
staging media: cedrus: Fix clock/reset sequence 2023-11-20 11:59:32 +01:00
target scsi: target: core: Fix deadlock due to recursive locking 2023-09-27 10:55:29 -04:00
tc
tee tee: optee: Fix supplicant based device enumeration 2023-12-13 18:45:11 +01:00
thermal thermal: intel: powerclamp: fix mismatch in get function for max_idle 2023-11-28 17:20:02 +00:00
thunderbolt thunderbolt: Set lane bonding bit only for downstream port 2023-12-03 07:33:06 +01:00
tty serial: 8250_omap: Add earlycon support for the AM654 UART controller 2023-12-13 18:45:33 +01:00
ufs scsi: ufs: core: Let the sq_lock protect sq_tail_slot access 2024-01-01 12:42:37 +00:00
uio
usb usb: fotg210-hcd: delete an incorrect bounds test 2024-01-01 12:42:41 +00:00
vdpa vdpa/mlx5: preserve CVQ vringh index 2023-12-13 18:44:55 +01:00
vfio vfio/pds: Fix possible sleep while in atomic context 2023-12-08 08:52:25 +01:00
vhost vhost-vdpa: fix use after free in vhost_vdpa_probe() 2023-11-28 17:19:49 +00:00
video fbdev: fsl-diu-fb: mark wr_reg_wa() static 2023-11-20 11:59:38 +01:00
virt virt: sevguest: Fix passing a stack buffer as a scatterlist target 2023-11-20 11:59:30 +01:00
virtio virtio_pci: fix the common cfg map size 2023-10-18 11:30:12 -04:00
vlynq
w1 w1: ds2482: Switch back to use struct i2c_driver's .probe() 2023-09-13 10:48:42 +02:00
watchdog sbsa_gwdt: Calculate timeout with 64-bit math 2023-11-28 17:20:11 +00:00
xen swiotlb-xen: provide the "max_mapping_size" method 2023-12-03 07:33:07 +01:00
zorro
Kconfig Merge patch series "Add non-coherent DMA support for AX45MP" 2023-09-08 11:24:34 -07:00
Makefile pmdomain: Rename the genpd subsystem to pmdomain 2023-09-13 11:09:21 +02:00