On 20-07-13 12:05:52, Pawel Laszczak wrote: > Patch removes 'goto not_otg' instruction from > cdns3_hw_role_state_machine function. > > Signed-off-by: Pawel Laszczak <pawell@xxxxxxxxxxx> > --- > drivers/usb/cdns3/core.c | 20 +++++++++----------- > 1 file changed, 9 insertions(+), 11 deletions(-) > > diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c > index c498b585eb13..8e3996f211a8 100644 > --- a/drivers/usb/cdns3/core.c > +++ b/drivers/usb/cdns3/core.c > @@ -191,11 +191,17 @@ static int cdns3_core_init_role(struct cdns3 *cdns) > */ > static enum usb_role cdns3_hw_role_state_machine(struct cdns3 *cdns) > { > - enum usb_role role; > + enum usb_role role = USB_ROLE_NONE; > int id, vbus; > > - if (cdns->dr_mode != USB_DR_MODE_OTG) > - goto not_otg; > + if (cdns->dr_mode != USB_DR_MODE_OTG) { > + if (cdns3_is_host(cdns)) > + role = USB_ROLE_HOST; > + if (cdns3_is_device(cdns)) > + role = USB_ROLE_DEVICE; > + > + return role; > + } Would you please improve it a bit like below: if (cdns->dr_mode != USB_DR_MODE_OTG) { if (cdns3_is_host(cdns)) role = USB_ROLE_HOST; else if (cdns3_is_device(cdns)) role = USB_ROLE_DEVICE; else role = USB_ROLE_NONE; return role; } Peter > > id = cdns3_get_id(cdns); > vbus = cdns3_get_vbus(cdns); > @@ -232,14 +238,6 @@ static enum usb_role cdns3_hw_role_state_machine(struct cdns3 *cdns) > dev_dbg(cdns->dev, "role %d -> %d\n", cdns->role, role); > > return role; > - > -not_otg: > - if (cdns3_is_host(cdns)) > - role = USB_ROLE_HOST; > - if (cdns3_is_device(cdns)) > - role = USB_ROLE_DEVICE; > - > - return role; > } > > static int cdns3_idle_role_start(struct cdns3 *cdns) > -- > 2.17.1 > -- Thanks, Peter Chen