Em Sun, 10 Nov 2013 10:50:45 +0000 (UTC)
Martin Kittel <[email protected]> escreveu:
> Hi,
>
> I had trouble getting my MCE remote control to work on my new Intel
> mainboard. It was working fine with older boards but with the new board
> there would be no reply from the remote just after the setup package was
> received during the init phase.
> I traced the problem down to the mceusb_dev_recv function where the received
> urb is resubmitted again. The problem is that my new board is so blazing
> fast that the initial urb was processed in less than a single 125
> microsecond interval, so the urb as it was received had urb->interval set to
> 0.
> As the urb is just resubmitted as it came in it now had an invalid interval
> set and was rejected.
> The patch just resets urb->interval to its initial value and adds some error
> diagnostics (which would have saved me a lot of time during my analysis).
>
> Any comment is welcome.
>
> Best wishes,
You forgot to send your signed-off-by:
>
> Martin.
>
>
> diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
> index 3c76101..c5313cb 100644
> --- a/drivers/media/rc/mceusb.c
> +++ b/drivers/media/rc/mceusb.c
> @@ -1030,7 +1030,7 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir
> static void mceusb_dev_recv(struct urb *urb)
> {
> struct mceusb_dev *ir;
> - int buf_len;
> + int buf_len, res;
>
Please use tabs and not spaces. Note: This could be something wrong with your
emailer that could be mangling whitespaces.
> if (!urb)
> return;
> @@ -1067,7 +1067,11 @@ static void mceusb_dev_recv(struct urb *urb)
> break;
> }
>
> - usb_submit_urb(urb, GFP_ATOMIC);
> + urb->interval = ir->usb_ep_out->bInterval; /* reset urb interval */
> + res = usb_submit_urb(urb, GFP_ATOMIC);
> + if (res) {
> + mce_dbg(ir->dev, "restart request FAILED! (res=%d)\n", res);
> + }
No need for braces here. Just do:
+ if (res)
+ mce_dbg(ir->dev, "restart request FAILED! (res=%d)\n", res);
> }
>
> static void mceusb_get_emulator_version(struct mceusb_dev *ir)
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html