|
@@ -249,6 +249,7 @@ void bdc_sr_uspc(struct bdc *bdc, struct bdc_sr *sreport)
|
|
|
disconn = true;
|
|
|
else if ((uspc & BDC_PCS) && !BDC_PST(uspc))
|
|
|
connected = true;
|
|
|
+ clear_flags |= BDC_PCC;
|
|
|
}
|
|
|
|
|
|
/* Change in VBus and VBus is present */
|
|
@@ -259,16 +260,16 @@ void bdc_sr_uspc(struct bdc *bdc, struct bdc_sr *sreport)
|
|
|
bdc_softconn(bdc);
|
|
|
usb_gadget_set_state(&bdc->gadget, USB_STATE_POWERED);
|
|
|
}
|
|
|
- clear_flags = BDC_VBC;
|
|
|
+ clear_flags |= BDC_VBC;
|
|
|
} else if ((uspc & BDC_PRS) || (uspc & BDC_PRC) || disconn) {
|
|
|
/* Hot reset, warm reset, 2.0 bus reset or disconn */
|
|
|
dev_dbg(bdc->dev, "Port reset or disconn\n");
|
|
|
bdc_uspc_disconnected(bdc, disconn);
|
|
|
- clear_flags = BDC_PCC|BDC_PCS|BDC_PRS|BDC_PRC;
|
|
|
+ clear_flags |= BDC_PRC;
|
|
|
} else if ((uspc & BDC_PSC) && (uspc & BDC_PCS)) {
|
|
|
/* Change in Link state */
|
|
|
handle_link_state_change(bdc, uspc);
|
|
|
- clear_flags = BDC_PSC|BDC_PCS;
|
|
|
+ clear_flags |= BDC_PSC;
|
|
|
}
|
|
|
|
|
|
/*
|