From fe1bdbc8b9ba7af296f5ce644174e57a8a55e6ec Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Tue, 13 Mar 2012 13:52:50 -0300 Subject: [PATCH] --- yaml --- r: 295101 b: refs/heads/master c: d3db22e10bd4997d244beee6feea5fa39b2e5b82 h: refs/heads/master i: 295099: 43d03d14d65d6568fe7f69805a34831b189400ae v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/dvb-usb/dib0700_core.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ad4678a282cb..93329afe0850 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3ef76759484832e498cba381aa1b24b90cf36a26 +refs/heads/master: d3db22e10bd4997d244beee6feea5fa39b2e5b82 diff --git a/trunk/drivers/media/dvb/dvb-usb/dib0700_core.c b/trunk/drivers/media/dvb/dvb-usb/dib0700_core.c index ae4f999930fa..02290c60f72f 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dib0700_core.c +++ b/trunk/drivers/media/dvb/dvb-usb/dib0700_core.c @@ -679,6 +679,7 @@ static void dib0700_rc_urb_completion(struct urb *purb) deb_info("%s()\n", __func__); if (d->rc_dev == NULL) { /* This will occur if disable_rc_polling=1 */ + kfree(purb->transfer_buffer); usb_free_urb(purb); return; } @@ -687,6 +688,7 @@ static void dib0700_rc_urb_completion(struct urb *purb) if (purb->status < 0) { deb_info("discontinuing polling\n"); + kfree(purb->transfer_buffer); usb_free_urb(purb); return; } @@ -781,8 +783,11 @@ int dib0700_rc_setup(struct dvb_usb_device *d) dib0700_rc_urb_completion, d); ret = usb_submit_urb(purb, GFP_ATOMIC); - if (ret) + if (ret) { err("rc submit urb failed\n"); + kfree(purb->transfer_buffer); + usb_free_urb(purb); + } return ret; }