Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'block-6.2-2023-01-27' of git://git.kernel.dk/linux

Pull block fixes from Jens Axboe:
"Minor tweaks for this release:

- NVMe pull request via Christoph:
- Flush initial scan_work for async probe (Keith Busch)
- Fix passthrough csi check (Keith Busch)
- Fix nvme-fc initialization order (Ross Lagerwall)

- Fix for tearing down non-started device in ublk (Ming)"

* tag 'block-6.2-2023-01-27' of git://git.kernel.dk/linux:
block: ublk: move ublk_chr_class destroying after devices are removed
nvme: fix passthrough csi check
nvme-pci: flush initial scan_work for async probe
nvme-fc: fix initialization order

+13 -15
+3 -4
drivers/block/ublk_drv.c
··· 2092 2092 struct ublk_device *ub; 2093 2093 int id; 2094 2094 2095 - class_destroy(ublk_chr_class); 2096 - 2097 - misc_deregister(&ublk_misc); 2098 - 2099 2095 idr_for_each_entry(&ublk_index_idr, ub, id) 2100 2096 ublk_remove(ub); 2097 + 2098 + class_destroy(ublk_chr_class); 2099 + misc_deregister(&ublk_misc); 2101 2100 2102 2101 idr_destroy(&ublk_index_idr); 2103 2102 unregister_chrdev_region(ublk_chr_devt, UBLK_MINORS);
+1 -1
drivers/nvme/host/core.c
··· 1093 1093 if (ns) { 1094 1094 if (ns->head->effects) 1095 1095 effects = le32_to_cpu(ns->head->effects->iocs[opcode]); 1096 - if (ns->head->ids.csi == NVME_CAP_CSS_NVM) 1096 + if (ns->head->ids.csi == NVME_CSI_NVM) 1097 1097 effects |= nvme_known_nvm_effects(opcode); 1098 1098 if (effects & ~(NVME_CMD_EFFECTS_CSUPP | NVME_CMD_EFFECTS_LBCC)) 1099 1099 dev_warn_once(ctrl->device,
+8 -10
drivers/nvme/host/fc.c
··· 3521 3521 3522 3522 nvme_fc_init_queue(ctrl, 0); 3523 3523 3524 - ret = nvme_alloc_admin_tag_set(&ctrl->ctrl, &ctrl->admin_tag_set, 3525 - &nvme_fc_admin_mq_ops, 3526 - struct_size((struct nvme_fcp_op_w_sgl *)NULL, priv, 3527 - ctrl->lport->ops->fcprqst_priv_sz)); 3528 - if (ret) 3529 - goto out_free_queues; 3530 - 3531 3524 /* 3532 3525 * Would have been nice to init io queues tag set as well. 3533 3526 * However, we require interaction from the controller ··· 3530 3537 3531 3538 ret = nvme_init_ctrl(&ctrl->ctrl, dev, &nvme_fc_ctrl_ops, 0); 3532 3539 if (ret) 3533 - goto out_cleanup_tagset; 3540 + goto out_free_queues; 3534 3541 3535 3542 /* at this point, teardown path changes to ref counting on nvme ctrl */ 3543 + 3544 + ret = nvme_alloc_admin_tag_set(&ctrl->ctrl, &ctrl->admin_tag_set, 3545 + &nvme_fc_admin_mq_ops, 3546 + struct_size((struct nvme_fcp_op_w_sgl *)NULL, priv, 3547 + ctrl->lport->ops->fcprqst_priv_sz)); 3548 + if (ret) 3549 + goto fail_ctrl; 3536 3550 3537 3551 spin_lock_irqsave(&rport->lock, flags); 3538 3552 list_add_tail(&ctrl->ctrl_list, &rport->ctrl_list); ··· 3592 3592 3593 3593 return ERR_PTR(-EIO); 3594 3594 3595 - out_cleanup_tagset: 3596 - nvme_remove_admin_tag_set(&ctrl->ctrl); 3597 3595 out_free_queues: 3598 3596 kfree(ctrl->queues); 3599 3597 out_free_ida:
+1
drivers/nvme/host/pci.c
··· 3102 3102 3103 3103 nvme_start_ctrl(&dev->ctrl); 3104 3104 nvme_put_ctrl(&dev->ctrl); 3105 + flush_work(&dev->ctrl.scan_work); 3105 3106 return 0; 3106 3107 3107 3108 out_disable: