[PATCH] usb: Fix switch statement in ohci-tmio.c
I am fixing the bug on at the link, https://bugzilla.kernel.org/show_bug.cgi?id=79931. This bug report states that in the function, tmio_hc_stop the switch has no needed breaks. Further more this patch fixes this bug by adding the needed breaks. Signed-off-by: Nicholas Krause <xerofoify@gmail.com> --- drivers/usb/host/ohci-tmio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/host/ohci-tmio.c b/drivers/usb/host/ohci-tmio.c index bb40958..d2b5382 100644 --- a/drivers/usb/host/ohci-tmio.c +++ b/drivers/usb/host/ohci-tmio.c @@ -100,12 +100,16 @@ static void tmio_stop_hc(struct platform_device *dev) switch (ohci->num_ports) { default: dev_err(&dev->dev, "Unsupported amount of ports: %d\n", ohci->num_ports); + break; case 3: pm |= CCR_PM_USBPW3; + break; case 2: pm |= CCR_PM_USBPW2; + break; case 1: pm |= CCR_PM_USBPW1; + break; } tmio_iowrite8(0, tmio->ccr + CCR_INTC); tmio_iowrite8(0, tmio->ccr + CCR_ILME); -- 1.9.1
On Thu, 14 Aug 2014, Nicholas Krause wrote:
I am fixing the bug on at the link, https://bugzilla.kernel.org/show_bug.cgi?id=79931. This bug report states that in the function, tmio_hc_stop the switch has no needed breaks. Further more this patch fixes this bug by adding the needed breaks.
Signed-off-by: Nicholas Krause <xerofoify@gmail.com> --- drivers/usb/host/ohci-tmio.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/usb/host/ohci-tmio.c b/drivers/usb/host/ohci-tmio.c index bb40958..d2b5382 100644 --- a/drivers/usb/host/ohci-tmio.c +++ b/drivers/usb/host/ohci-tmio.c @@ -100,12 +100,16 @@ static void tmio_stop_hc(struct platform_device *dev) switch (ohci->num_ports) { default: dev_err(&dev->dev, "Unsupported amount of ports: %d\n", ohci->num_ports); + break; case 3: pm |= CCR_PM_USBPW3; + break; case 2: pm |= CCR_PM_USBPW2; + break; case 1: pm |= CCR_PM_USBPW1; + break; } tmio_iowrite8(0, tmio->ccr + CCR_INTC); tmio_iowrite8(0, tmio->ccr + CCR_ILME); -- 1.9.1
Hmm, I don't know, man. The problem might as well (or even more likely) be the defines: #define CCR_PM_USBPW1 0x0004 #define CCR_PM_USBPW2 0x0008 #define CCR_PM_USBPW3 0x0008 which perfectly explain the warning and CCR_PM_USBPW3 needing to be 0x0010 would make more sense if you look at the "switch" head. Alas, I have no idea about the stuff going on there, so this remains speculation. However, maybe you can prove me wrong? If not, keep in mind that a bug reporter doesn't necessarily provide a correct guide to fixing the bug. [ Also, please consider just how *many* people gave you the (still surpris- ingly friendly formulated) advice to be silent for a while. Don't make me look up the procmailrc syntax again... ] Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk
participants (2)
-
Nicholas Krause -
Tobias Boege