linux-brain/drivers
Dmitry Monakhov eed4e1abc9 nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a
[ Upstream commit abbb5f5929ec6c52574c430c5475c158a65c2a8c ]

This adds a quirk for Samsung PM1725a drive which fixes timeouts and
I/O errors due to the fact that the controller does not properly
handle the Write Zeroes command, dmesg log:

nvme nvme0: I/O 528 QID 10 timeout, aborting
nvme nvme0: I/O 529 QID 10 timeout, aborting
nvme nvme0: I/O 530 QID 10 timeout, aborting
nvme nvme0: I/O 531 QID 10 timeout, aborting
nvme nvme0: I/O 532 QID 10 timeout, aborting
nvme nvme0: I/O 533 QID 10 timeout, aborting
nvme nvme0: I/O 534 QID 10 timeout, aborting
nvme nvme0: I/O 535 QID 10 timeout, aborting
nvme nvme0: Abort status: 0x0
nvme nvme0: Abort status: 0x0
nvme nvme0: Abort status: 0x0
nvme nvme0: Abort status: 0x0
nvme nvme0: Abort status: 0x0
nvme nvme0: Abort status: 0x0
nvme nvme0: Abort status: 0x0
nvme nvme0: Abort status: 0x0
nvme nvme0: I/O 528 QID 10 timeout, reset controller
nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x10
nvme nvme0: Device not ready; aborting reset, CSTS=0x3
nvme nvme0: Device not ready; aborting reset, CSTS=0x3
nvme nvme0: Removing after probe failure status: -19
nvme0n1: detected capacity change from 6251233968 to 0
blk_update_request: I/O error, dev nvme0n1, sector 32776 op 0x1:(WRITE) flags 0x3000 phys_seg 6 prio class 0
blk_update_request: I/O error, dev nvme0n1, sector 113319936 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
Buffer I/O error on dev nvme0n1p2, logical block 1, lost async page write
blk_update_request: I/O error, dev nvme0n1, sector 113319680 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
Buffer I/O error on dev nvme0n1p2, logical block 2, lost async page write
blk_update_request: I/O error, dev nvme0n1, sector 113319424 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
Buffer I/O error on dev nvme0n1p2, logical block 3, lost async page write
blk_update_request: I/O error, dev nvme0n1, sector 113319168 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
Buffer I/O error on dev nvme0n1p2, logical block 4, lost async page write
blk_update_request: I/O error, dev nvme0n1, sector 113318912 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
Buffer I/O error on dev nvme0n1p2, logical block 5, lost async page write
blk_update_request: I/O error, dev nvme0n1, sector 113318656 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
Buffer I/O error on dev nvme0n1p2, logical block 6, lost async page write
blk_update_request: I/O error, dev nvme0n1, sector 113318400 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
blk_update_request: I/O error, dev nvme0n1, sector 113318144 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
blk_update_request: I/O error, dev nvme0n1, sector 113317888 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0

Signed-off-by: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-30 14:35:22 +02:00
..
accessibility
acpi ACPI: video: Add DMI quirk for GIGABYTE GB-BXBT-2807 2021-03-11 14:06:50 +01:00
amba amba: Fix resource leak for drivers without .remove 2021-03-04 10:26:32 +01:00
android binder: add flag to clear buffer on txn complete 2020-12-30 11:51:35 +01:00
ata ata: ahci_brcm: Add back regulators management 2021-03-04 10:26:23 +01:00
atm atm: idt77252: fix null-ptr-dereference 2021-03-30 14:35:21 +02:00
auxdisplay auxdisplay: ht16k33: Fix refresh rate handling 2021-03-04 10:26:30 +01:00
base Revert "PM: runtime: Update device status before letting suppliers suspend" 2021-03-24 11:26:35 +01:00
bcma
block zram: fix return value on writeback_store 2021-03-17 17:03:57 +01:00
bluetooth Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl 2021-03-07 12:20:44 +01:00
bus bus: fsl-mc: fix error return code in fsl_mc_object_allocate() 2020-12-30 11:51:23 +01:00
cdrom
char tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() 2021-03-09 11:09:36 +01:00
clk clk: aspeed: Fix APLL calculate formula from ast2600-A2 2021-03-04 10:26:34 +01:00
clocksource clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined 2021-03-04 10:26:29 +01:00
connector
counter counter: stm32-timer-cnt: fix ceiling write max value 2021-03-24 11:26:43 +01:00
cpufreq cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev 2021-03-30 14:35:21 +02:00
cpuidle cpuidle: Fixup IRQ state 2020-09-09 19:12:21 +02:00
crypto crypto: sun4i-ss - initialize need_fallback 2021-03-04 10:26:45 +01:00
dax device-dax/core: Fix memory leak when rmmod dax.ko 2020-12-30 11:51:46 +01:00
dca
devfreq PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out 2020-10-01 13:17:14 +02:00
dio
dma dmaengine: hsu: disable spurious interrupt 2021-03-04 10:26:28 +01:00
dma-buf dmabuf: fix use-after-free of dmabuf's file->f_inode 2021-01-12 20:16:23 +01:00
edac EDAC/amd64: Fix PCI component registration 2020-12-30 11:51:36 +01:00
eisa
extcon extcon: max77693: Fix modalias string 2020-12-30 11:51:24 +01:00
firewire
firmware firmware/efi: Fix a use after bug in efi_mem_reserve_persistent 2021-03-24 11:26:45 +01:00
fpga
fsi
gnss
gpio gpiolib: acpi: Add missing IRQF_ONESHOT 2021-03-30 14:35:21 +02:00
gpu drm/radeon: fix AGP dependency 2021-03-30 14:35:22 +02:00
greybus
hid HID: logitech-dj: add support for the new lightspeed connection iteration 2021-03-17 17:03:43 +01:00
hsi HSI: Fix PM usage counter unbalance in ssi_hw_init 2021-03-04 10:26:26 +01:00
hv Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() 2021-03-04 10:26:24 +01:00
hwmon hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values 2021-01-19 18:26:15 +01:00
hwspinlock
hwtracing stm class: Fix module init return on allocation failure 2021-01-27 11:47:50 +01:00
i2c i2c: rcar: optimize cacheline to minimize HW race condition 2021-03-17 17:03:41 +01:00
i3c i3c master: fix missing destroy_workqueue() on error in i3c_master_register 2021-01-06 14:48:40 +01:00
ide scsi: ide: Do not set the RQF_PREEMPT flag for sense requests 2021-01-12 20:16:09 +01:00
idle
iio iio: hid-sensor-temperature: Fix issues of timestamp channel 2021-03-24 11:26:43 +01:00
infiniband IB/mlx5: Add missing error code 2021-03-09 11:09:38 +01:00
input Input: applespi - don't wait for responses to commands indefinitely. 2021-03-17 17:03:44 +01:00
interconnect interconnect: qcom: qcs404: Remove GPU and display RPM IDs 2020-12-16 10:56:56 +01:00
iommu iommu/amd: Fix performance counter initialization 2021-03-17 17:03:43 +01:00
ipack
irqchip irqchip/ingenic: Add support for the JZ4760 2021-03-30 14:35:22 +02:00
isdn misdn: dsp: select CONFIG_BITREVERSE 2021-01-19 18:26:15 +01:00
leds leds: trigger: fix potential deadlock with libata 2021-02-03 23:25:58 +01:00
lightnvm lightnvm: fix memory leak when submit fails 2021-01-27 11:47:53 +01:00
macintosh macintosh/via-macii: Access autopoll_devs when inside lock 2020-08-19 08:16:15 +02:00
mailbox mailbox: avoid timer start from callback 2020-10-29 09:57:53 +01:00
mcb
md dm table: fix zoned iterate_devices based device capability checks 2021-03-11 14:06:49 +01:00
media media: rc: compile rc-cec.c into rc-core 2021-03-17 17:03:40 +01:00
memory memory: ti-aemif: Drop child node when jumping out loop 2021-03-04 10:26:14 +01:00
memstick memstick: r592: Fix error return in r592_probe() 2020-12-30 11:51:18 +01:00
message scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() 2020-11-05 11:43:25 +01:00
mfd mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq() 2021-03-04 10:26:33 +01:00
misc habanalabs: Call put_pid() when releasing control device 2021-03-30 14:35:22 +02:00
mmc mmc: cqhci: Fix random crash when remove mmc module/card 2021-03-17 17:03:48 +01:00
mtd mtd: spi-nor: hisi-sfc: Put child node np on error path 2021-03-04 10:26:48 +01:00
mux
net net: davicom: Use platform_get_irq_optional() 2021-03-30 14:35:21 +02:00
nfc nfc: s3fwrn5: Release the nfc firmware 2020-12-30 11:51:26 +01:00
ntb NTB: hw: amd: fix an issue about leak system resources 2020-10-29 09:58:00 +01:00
nubus
nvdimm libnvdimm/dimm: Avoid race between probe and available_slots_show() 2021-02-10 09:25:30 +01:00
nvme nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a 2021-03-30 14:35:22 +02:00
nvmem nvmem: core: skip child nodes not matching binding 2021-03-04 10:26:37 +01:00
of of/fdt: Make sure no-map does not remove already reserved regions 2021-03-04 10:26:28 +01:00
opp opp: Reduce the size of critical section in _opp_table_kref_release() 2020-11-18 19:20:21 +01:00
oprofile
parisc parisc: mask out enable and reserved bits from sba imask 2020-08-19 08:16:26 +02:00
parport
pci PCI: rpadlpar: Fix potential drc_name corruption in store functions 2021-03-24 11:26:43 +01:00
pcmcia
perf drivers/perf: thunderx2_pmu: Fix memory resource error handling 2020-10-29 09:57:30 +01:00
phy phy: rockchip-emmc: emmc_phy_init() always return 0 2021-03-04 10:26:36 +01:00
pinctrl pinctrl: ingenic: Fix JZ4760 support 2021-01-27 11:47:52 +01:00
platform Platform: OLPC: Fix probe error handling 2021-03-17 17:03:42 +01:00
pnp
power power: reset: at91-sama5d2_shdwc: fix wkupdbc mask 2021-03-04 10:26:28 +01:00
powercap powercap: restrict energy meter to root access 2020-11-10 21:13:20 +01:00
pps
ps3 powerpc/ps3: use dma_mapping_error() 2020-12-30 11:51:26 +01:00
ptp
pwm pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare() 2021-03-04 10:26:36 +01:00
rapidio rapidio: fix the missed put_device() for rio_mport_add_riodev 2020-10-29 09:57:53 +01:00
ras
regulator regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck 2021-03-30 14:35:22 +02:00
remoteproc remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() 2020-12-30 11:51:24 +01:00
reset
rpmsg rpmsg: glink: Use complete_all for open states 2020-11-05 11:43:20 +01:00
rtc rtc: s5m: select REGMAP_I2C 2021-03-04 10:26:29 +01:00
s390 s390/dasd: fix hanging IO request during DASD driver unbind 2021-03-17 17:03:48 +01:00
sbus
scsi scsi: myrs: Fix a double free in myrs_cleanup() 2021-03-24 11:26:40 +01:00
sfi
sh
siox
slimbus slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI 2020-12-30 11:51:13 +01:00
soc soc: aspeed: snoop: Add clock control logic 2021-03-04 10:26:16 +01:00
soundwire soundwire: cadence: fix ACK/NAK handling 2021-03-04 10:26:36 +01:00
spi spi: stm32: make spurious and overrun interrupts visible 2021-03-17 17:03:42 +01:00
spmi spmi: spmi-pmic-arb: Fix hw_irq overflow 2021-03-04 10:26:49 +01:00
ssb
staging staging: comedi: pcl818: Fix endian problem for AI command data 2021-03-17 17:03:55 +01:00
target scsi: target: core: Prevent underflow for service actions 2021-03-17 17:03:45 +01:00
tc
tee tee: optee: replace might_sleep with cond_resched 2021-02-03 23:25:58 +01:00
thermal thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has changed 2021-01-06 14:48:35 +01:00
thunderbolt thunderbolt: Fix use-after-free in remove_unplugged_switch() 2020-12-11 13:23:29 +01:00
tty vt/consolemap: do font sum unsigned 2021-03-07 12:20:44 +01:00
uio uio: Fix use-after-free in uio_unregister_device() 2020-11-18 19:20:29 +01:00
usb usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- 2021-03-24 11:26:41 +01:00
vfio vfio: IOMMU_API should be selected 2021-03-24 11:26:38 +01:00
vhost vhost_net: fix ubuf refcount incorrectly when sendmsg fails 2021-01-12 20:16:16 +01:00
video udlfb: Fix memory leak in dlfb_usb_probe 2021-03-07 12:20:42 +01:00
virt virt: vbox: Do not use wait_event_interruptible when called from kernel context 2021-03-04 10:26:10 +01:00
virtio virtio_ring: Fix two use after free bugs 2020-12-30 11:51:29 +01:00
visorbus
vlynq
vme
w1 w1: mxc_w1: Fix timeout resolution problem leading to bus error 2020-11-05 11:43:25 +01:00
watchdog watchdog: mei_wdt: request stop on unregister 2021-03-04 10:26:47 +01:00
xen xen/events: avoid handling the same event on two cpus at the same time 2021-03-17 17:03:58 +01:00
zorro
Kconfig
Makefile