mmc_da: Queued CCBs need a priority other than CAM_PRIORITY_NONE
Queued CCBs usually are queued at CAM_PRIORITY_NORMAL, unless they are doing error recovery, or device enumeration of some kind. They should never be queued at CAM_PRIORITY_NONE, which should only be used for CCBs that are immediate. For sdda_start_init_task(), we allocate a ccb, initialize it then use it to talk to the SD/MMC card to query it, negotiate the speed and lane sizes, etc. Most of these commands are queued, so use the normal priority. Sponsored by: Netflix
This commit is contained in:
@@ -1081,7 +1081,7 @@ sdda_start_init_task(void *context, int pending)
|
|||||||
CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("sdda_start_init_task\n"));
|
CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("sdda_start_init_task\n"));
|
||||||
new_ccb = xpt_alloc_ccb();
|
new_ccb = xpt_alloc_ccb();
|
||||||
xpt_setup_ccb(&new_ccb->ccb_h, periph->path,
|
xpt_setup_ccb(&new_ccb->ccb_h, periph->path,
|
||||||
CAM_PRIORITY_NONE);
|
CAM_PRIORITY_NORMAL);
|
||||||
|
|
||||||
cam_periph_lock(periph);
|
cam_periph_lock(periph);
|
||||||
cam_periph_hold(periph, PRIBIO|PCATCH);
|
cam_periph_hold(periph, PRIBIO|PCATCH);
|
||||||
|
|||||||
Reference in New Issue
Block a user