The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=73e1bd71427794ee5496fdeb2bdaa04b05b0c35b

commit 73e1bd71427794ee5496fdeb2bdaa04b05b0c35b
Author:     Warner Losh <i...@freebsd.org>
AuthorDate: 2025-07-22 02:50:50 +0000
Commit:     Warner Losh <i...@freebsd.org>
CommitDate: 2025-07-22 04:00:53 +0000

    cam/mmc: Remove stray xpt_path_inq
    
    Turns out, we don't use the results of xpt_path_inq here at all. And it
    also causes problems. Since it calls xpt_cam_inq to do this useless
    XPT_PATH_INQ, it loses the original priority we had for the CCB. This
    priority should be CAM_PRIORITY_XPT, but was oringially set to
    CAM_PRIORITY_NORMAL. This worked to enumerate the device because no
    normal priority CCBs were queued by anything doing the
    enumeration. However, when I changed xpt_path_inq to use the more proper
    PRIORITY_NONE, it exposed this bug because queued CCBs with
    PRIORITY_NONE sometimes won't run. This caused the probe device to stop
    after its first operation. Removing the xpt_path_inq means we no longer
    step on the important fields we get from xpt_schedule, allowing probing
    to work correctly.
    
    Noticed by: bz@
    Sponsored by: Netflix
---
 sys/cam/mmc/mmc_xpt.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sys/cam/mmc/mmc_xpt.c b/sys/cam/mmc/mmc_xpt.c
index 4fce03004994..f5f66f5214a8 100644
--- a/sys/cam/mmc/mmc_xpt.c
+++ b/sys/cam/mmc/mmc_xpt.c
@@ -610,7 +610,6 @@ mmcprobe_start(struct cam_periph *periph, union ccb 
*start_ccb)
                CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_PROBE, ("Start with 
PROBE_RESET\n"));
                /* FALLTHROUGH */
        case PROBE_IDENTIFY:
-               xpt_path_inq(&start_ccb->cpi, periph->path);
                CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_PROBE, ("Start with 
PROBE_IDENTIFY\n"));
                init_standard_ccb(start_ccb, XPT_MMC_GET_TRAN_SETTINGS);
                break;

Reply via email to