usb: bc: fix crush caused by usb bc detect
authorlyz <lyz@rock-chips.com>
Fri, 12 Jun 2015 12:38:26 +0000 (20:38 +0800)
committerlyz <lyz@rock-chips.com>
Fri, 12 Jun 2015 12:51:13 +0000 (20:51 +0800)
Fix a bug that mutex used before init.

Signed-off-by: lyz <lyz@rock-chips.com>
drivers/usb/dwc_otg_310/usbdev_bc.c

index 3d99f8fbd05295f98d20cd32e8460822efb092c1..612672fba515cafc25f8649527a3466d973c720d 100755 (executable)
@@ -29,7 +29,7 @@ char *bc_string[USB_BC_TYPE_MAX] = {"DISCONNECT",
 uoc_field_t *pBC_UOC_FIELDS;
 static void *pGRF_BASE;
 static void *pGRF_REGMAP;
-static struct mutex bc_mutex;
+DEFINE_MUTEX(bc_mutex);
 
 static enum bc_port_type usb_charger_status = USB_BC_TYPE_DISCNT;
 
@@ -389,7 +389,6 @@ enum bc_port_type usb_battery_charger_detect(bool wait)
        if (!pGRF_BASE && !pGRF_REGMAP) {
                pGRF_BASE = get_grf_base(np);
                pGRF_REGMAP = get_grf_regmap(np);
-               mutex_init(&bc_mutex);
        }
 
        mutex_lock(&bc_mutex);