Skip to content

Commit 3bc429c

Browse files
committed
Merge tag 'nvme-6.1-2022-10-12' of git://git.infradead.org/nvme into block-6.1
Pull NVMe fixes from Christoph: "nvme fixes for Linux 6.1 - add NVME_QUIRK_BOGUS_NID for Lexar NM760 (Abhijit) - avoid the deepest sleep state on ZHITAI TiPro5000 SSDs (Xi Ruoyao) - fix possible hang caused during ctrl deletion (Sagi Grimberg) - fix possible hang in live ns resize with ANA access (Sagi Grimberg)" * tag 'nvme-6.1-2022-10-12' of git://git.infradead.org/nvme: nvme-multipath: fix possible hang in live ns resize with ANA access nvme-pci: avoid the deepest sleep state on ZHITAI TiPro5000 SSDs nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM760 nvme-tcp: fix possible hang caused during ctrl deletion nvme-rdma: fix possible hang caused during ctrl deletion
2 parents 24a4033 + 72e3b88 commit 3bc429c

File tree

4 files changed

+7
-2
lines changed

4 files changed

+7
-2
lines changed

drivers/nvme/host/multipath.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ void nvme_mpath_revalidate_paths(struct nvme_ns *ns)
182182

183183
for_each_node(node)
184184
rcu_assign_pointer(head->current_path[node], NULL);
185+
kblockd_schedule_work(&head->requeue_work);
185186
}
186187

187188
static bool nvme_path_is_disabled(struct nvme_ns *ns)

drivers/nvme/host/pci.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3521,12 +3521,16 @@ static const struct pci_device_id nvme_id_table[] = {
35213521
.driver_data = NVME_QUIRK_BOGUS_NID, },
35223522
{ PCI_DEVICE(0x1dbe, 0x5236), /* ADATA XPG GAMMIX S70 */
35233523
.driver_data = NVME_QUIRK_BOGUS_NID, },
3524+
{ PCI_DEVICE(0x1e49, 0x0021), /* ZHITAI TiPro5000 NVMe SSD */
3525+
.driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
35243526
{ PCI_DEVICE(0x1e49, 0x0041), /* ZHITAI TiPro7000 NVMe SSD */
35253527
.driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
35263528
{ PCI_DEVICE(0xc0a9, 0x540a), /* Crucial P2 */
35273529
.driver_data = NVME_QUIRK_BOGUS_NID, },
35283530
{ PCI_DEVICE(0x1d97, 0x2263), /* Lexar NM610 */
35293531
.driver_data = NVME_QUIRK_BOGUS_NID, },
3532+
{ PCI_DEVICE(0x1d97, 0x2269), /* Lexar NM760 */
3533+
.driver_data = NVME_QUIRK_BOGUS_NID, },
35303534
{ PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0x0061),
35313535
.driver_data = NVME_QUIRK_DMA_ADDRESS_BITS_48, },
35323536
{ PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0x0065),

drivers/nvme/host/rdma.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -996,7 +996,7 @@ static void nvme_rdma_stop_ctrl(struct nvme_ctrl *nctrl)
996996
{
997997
struct nvme_rdma_ctrl *ctrl = to_rdma_ctrl(nctrl);
998998

999-
cancel_work_sync(&ctrl->err_work);
999+
flush_work(&ctrl->err_work);
10001000
cancel_delayed_work_sync(&ctrl->reconnect_work);
10011001
}
10021002

drivers/nvme/host/tcp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2181,7 +2181,7 @@ static void nvme_reset_ctrl_work(struct work_struct *work)
21812181

21822182
static void nvme_tcp_stop_ctrl(struct nvme_ctrl *ctrl)
21832183
{
2184-
cancel_work_sync(&to_tcp_ctrl(ctrl)->err_work);
2184+
flush_work(&to_tcp_ctrl(ctrl)->err_work);
21852185
cancel_delayed_work_sync(&to_tcp_ctrl(ctrl)->connect_work);
21862186
}
21872187

0 commit comments

Comments
 (0)