There's a comma used instead of a semicolon that causes multiple
statements to be executed after an if instead of just the intended
single statement.
Replace the comma with a semicolon.
Signed-off-by: Joe Perches <[email protected]>
---
Untested, but really likely to be a defect given the indentation.
Found using Julia Lawall's (and my) coccinelle script.
https://lore.kernel.org/lkml/alpine.DEB.2.22.394.2008201856110.2524@hadrien/
drivers/media/usb/dvb-usb-v2/lmedm04.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c
index 8a3c0eeed959..cce431f34f61 100644
--- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
@@ -391,7 +391,7 @@ static int lme2510_int_read(struct dvb_usb_adapter *adap)
ep = usb_pipe_endpoint(d->udev, lme_int->lme_urb->pipe);
if (usb_endpoint_type(&ep->desc) == USB_ENDPOINT_XFER_BULK)
- lme_int->lme_urb->pipe = usb_rcvbulkpipe(d->udev, 0xa),
+ lme_int->lme_urb->pipe = usb_rcvbulkpipe(d->udev, 0xa);
usb_submit_urb(lme_int->lme_urb, GFP_ATOMIC);
info("INT Interrupt Service Started");
Good catch the interrupt URB is not running because usb_submit_urb is tangled with it.
It only really affects signal strength.
add
Fixes: 15e1ce33182d ("[media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb")
Cc: <[email protected]>
Regards
Malcolm
On Mon, 2020-08-24 at 21:01 +0100, Malcolm Priestley wrote:
> Good catch the interrupt URB is not running because usb_submit_urb is tangled with it.
>
> It only really affects signal strength.
>
> add
>
> Fixes: 15e1ce33182d ("[media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb")
> Cc: <[email protected]>
If that's a request for me, I won't as I can't test.
As the maintainer, you should do that.
> If that's a request for me, I won't as I can't test.
>
> As the maintainer, you should do that.
No it is for media maintainer.
Em Mon, 24 Aug 2020 21:01:12 +0100
Malcolm Priestley <[email protected]> escreveu:
> Good catch the interrupt URB is not running because usb_submit_urb is tangled with it.
>
> It only really affects signal strength.
Yeah, that indeed sounds to be a real bug.
>
> add
>
> Fixes: 15e1ce33182d ("[media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb")
> Cc: <[email protected]>
>
> Regards
>
>
> Malcolm
That's said, while here, it sounds weird to use GFP_ATOMIC instead
of GFP_KERNEL for the URB submissions.
Malcolm,
if you still have the hardware for testing, could you please
check if replacing them by GFP_KERNEL will work?
Thanks!
Mauro
Thanks,
Mauro
lme2510_int_read is not atomically called so use GFP_KERNEL for
usb_alloc_urb and usb_submit_urb which is the first in the chain
of interrupt submissions.
Signed-off-by: Malcolm Priestley <[email protected]>
---
This patch is applied on top of
[likely] media: lmedm04: Fix misuse of comma
I have tested both patches with hardware and all is well.
drivers/media/usb/dvb-usb-v2/lmedm04.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c
index 9ddda8d68ee0..0f5a1eed5ea9 100644
--- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
@@ -373,7 +373,7 @@ static int lme2510_int_read(struct dvb_usb_adapter *adap)
struct lme2510_state *lme_int = adap_to_priv(adap);
struct usb_host_endpoint *ep;
- lme_int->lme_urb = usb_alloc_urb(0, GFP_ATOMIC);
+ lme_int->lme_urb = usb_alloc_urb(0, GFP_KERNEL);
if (lme_int->lme_urb == NULL)
return -ENOMEM;
@@ -393,7 +393,7 @@ static int lme2510_int_read(struct dvb_usb_adapter *adap)
if (usb_endpoint_type(&ep->desc) == USB_ENDPOINT_XFER_BULK)
lme_int->lme_urb->pipe = usb_rcvbulkpipe(d->udev, 0xa);
- usb_submit_urb(lme_int->lme_urb, GFP_ATOMIC);
+ usb_submit_urb(lme_int->lme_urb, GFP_KERNEL);
info("INT Interrupt Service Started");
return 0;
--
2.27.0