Don't try to turn power down MMC bus if it is already down
Regulator framework doens't like turning off already turned off regulators, so we get panic on AllWinner boards. Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D15890
This commit is contained in:
parent
4c4200c6d9
commit
8b0e085f65
@ -574,14 +574,16 @@ mmcprobe_start(struct cam_periph *periph, union ccb *start_ccb)
|
||||
/* 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_RESET\n"));
|
||||
init_standard_ccb(start_ccb, XPT_SET_TRAN_SETTINGS);
|
||||
cts->ios.power_mode = power_off;
|
||||
cts->ios_valid = MMC_PM;
|
||||
init_standard_ccb(start_ccb, XPT_GET_TRAN_SETTINGS);
|
||||
xpt_action(start_ccb);
|
||||
mtx_sleep(periph, p_mtx, 0, "mmcios", 100);
|
||||
|
||||
if (cts->ios.power_mode != power_off) {
|
||||
init_standard_ccb(start_ccb, XPT_SET_TRAN_SETTINGS);
|
||||
cts->ios.power_mode = power_off;
|
||||
cts->ios_valid = MMC_PM;
|
||||
xpt_action(start_ccb);
|
||||
mtx_sleep(periph, p_mtx, 0, "mmcios", 100);
|
||||
}
|
||||
/* mmc_power_up */
|
||||
/* Get the host OCR */
|
||||
init_standard_ccb(start_ccb, XPT_GET_TRAN_SETTINGS);
|
||||
|
Loading…
x
Reference in New Issue
Block a user