From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru>, Christoph Hellwig <hch@lst.de>, Sasha Levin <sashal@kernel.org>, linux-nvme@lists.infradead.org Subject: [PATCH AUTOSEL 5.11 55/61] nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a Date: Tue, 16 Mar 2021 20:55:29 -0400 [thread overview] Message-ID: <20210317005536.724046-55-sashal@kernel.org> (raw) In-Reply-To: <20210317005536.724046-1-sashal@kernel.org> From: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru> [ 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> --- drivers/nvme/host/pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 806a5d071ef6..514dfd630035 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -3242,6 +3242,7 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, { PCI_DEVICE(0x144d, 0xa822), /* Samsung PM1725a */ .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY | + NVME_QUIRK_DISABLE_WRITE_ZEROES| NVME_QUIRK_IGNORE_DEV_SUBNQN, }, { PCI_DEVICE(0x1987, 0x5016), /* Phison E16 */ .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN, }, -- 2.30.1
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru>, Christoph Hellwig <hch@lst.de>, Sasha Levin <sashal@kernel.org>, linux-nvme@lists.infradead.org Subject: [PATCH AUTOSEL 5.11 55/61] nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a Date: Tue, 16 Mar 2021 20:55:29 -0400 [thread overview] Message-ID: <20210317005536.724046-55-sashal@kernel.org> (raw) In-Reply-To: <20210317005536.724046-1-sashal@kernel.org> From: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru> [ 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> --- drivers/nvme/host/pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 806a5d071ef6..514dfd630035 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -3242,6 +3242,7 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, { PCI_DEVICE(0x144d, 0xa822), /* Samsung PM1725a */ .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY | + NVME_QUIRK_DISABLE_WRITE_ZEROES| NVME_QUIRK_IGNORE_DEV_SUBNQN, }, { PCI_DEVICE(0x1987, 0x5016), /* Phison E16 */ .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN, }, -- 2.30.1 _______________________________________________ Linux-nvme mailing list Linux-nvme@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2021-03-17 0:58 UTC|newest] Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-17 0:54 [PATCH AUTOSEL 5.11 01/61] mt76: fix tx skb error handling in mt76_dma_tx_queue_skb Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 02/61] mt76: mt7915: only modify tx buffer list after allocating tx token id Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 03/61] net: stmmac: fix dma physical address of descriptor when display ring Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 04/61] net: fec: ptp: avoid register access when ipg clock is disabled Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 05/61] powerpc/4xx: Fix build errors from mfdcr() Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 06/61] atm: eni: dont release is never initialized Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 07/61] atm: lanai: dont run lanai_dev_close if not open Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 08/61] Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 09/61] ALSA: hda: ignore invalid NHLT table Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 10/61] ixgbe: Fix memleak in ixgbe_configure_clsu32 Sasha Levin 2021-03-17 0:54 ` [Intel-wired-lan] " Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 11/61] scsi: ufs: ufs-qcom: Disable interrupt in reset path Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 12/61] blk-cgroup: Fix the recursive blkg rwstat Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 13/61] net: tehuti: fix error return code in bdx_probe() Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 14/61] net: intel: iavf: fix error return code of iavf_init_get_resources() Sasha Levin 2021-03-17 0:54 ` [Intel-wired-lan] " Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 15/61] sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 16/61] gianfar: fix jumbo packets+napi+rx overrun crash Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 17/61] cifs: ask for more credit on async read/write code paths Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 18/61] gfs2: fix use-after-free in trans_drain Sasha Levin 2021-03-17 0:54 ` [Cluster-devel] " Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 19/61] cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 20/61] gpiolib: acpi: Add missing IRQF_ONESHOT Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 21/61] nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 22/61] NFS: Correct size calculation for create reply length Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 23/61] net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch() Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 24/61] net: wan: fix error return code of uhdlc_init() Sasha Levin 2021-03-17 0:54 ` Sasha Levin 2021-03-17 0:54 ` [PATCH AUTOSEL 5.11 25/61] net: davicom: Use platform_get_irq_optional() Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 26/61] net: enetc: set MAC RX FIFO to recommended value Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 27/61] atm: uPD98402: fix incorrect allocation Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 28/61] atm: idt77252: fix null-ptr-dereference Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 29/61] cifs: change noisy error message to FYI Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 30/61] irqchip/ingenic: Add support for the JZ4760 Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 31/61] kbuild: add image_name to no-sync-config-targets Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 32/61] kbuild: dummy-tools: fix inverted tests for gcc Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 33/61] umem: fix error return code in mm_pci_probe() Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 34/61] sparc64: Fix opcode filtering in handling of no fault loads Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 35/61] habanalabs: Call put_pid() when releasing control device Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 36/61] habanalabs: Disable file operations after device is removed Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 37/61] staging: rtl8192e: fix kconfig dependency on CRYPTO Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 38/61] u64_stats,lockdep: Fix u64_stats_init() vs lockdep Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 39/61] kselftest: arm64: Fix exit code of sve-ptrace Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 40/61] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 41/61] regulator: qcom-rpmh: Use correct buck for S1C regulator Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 42/61] block: Fix REQ_OP_ZONE_RESET_ALL handling Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 43/61] drm/amd/display: Enable pflip interrupt upon pipe enable Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 44/61] drm/amd/display: Revert dram_clock_change_latency for DCN2.1 Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 45/61] drm/amd/display: Enabled pipe harvesting in dcn30 Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 46/61] drm/amdgpu/display: Use wm_table.entries for dcn301 calculate_wm Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 47/61] drm/amdgpu: fb BO should be ttm_bo_type_device Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 48/61] drm/radeon: fix AGP dependency Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 49/61] nvme: simplify error logic in nvme_validate_ns() Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 50/61] nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 51/61] nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 52/61] nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 53/61] nvme-core: check ctrl css before setting up zns Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 54/61] nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` Sasha Levin [this message] 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 55/61] nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 56/61] nfs: we don't support removing system.nfs4_acl Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 57/61] block: Suppress uevent for hidden device when removed Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 58/61] io_uring: cancel deferred requests in try_cancel Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 59/61] mm/fork: clear PASID for new mm Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 60/61] ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls Sasha Levin 2021-03-17 0:55 ` Sasha Levin 2021-03-17 0:55 ` [PATCH AUTOSEL 5.11 61/61] ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign Sasha Levin 2021-03-17 0:55 ` Sasha Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210317005536.724046-55-sashal@kernel.org \ --to=sashal@kernel.org \ --cc=dmtrmonakhov@yandex-team.ru \ --cc=hch@lst.de \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.