Em Sun, 10 Nov 2013 10:50:45 +0000 (UTC) Martin Kittel <linux@xxxxxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html