Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755512Ab3DVUpn (ORCPT ); Mon, 22 Apr 2013 16:45:43 -0400 Received: from ven69-h01-31-33-9-98.dsl.sta.abo.bbox.fr ([31.33.9.98]:46599 "EHLO laptop-kevin.kbaradon.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755477Ab3DVUpl (ORCPT ); Mon, 22 Apr 2013 16:45:41 -0400 From: Kevin Baradon To: Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Kevin Baradon Subject: [PATCH 4/4] media/rc/imon.c: kill urb when send_packet() is interrupted Date: Mon, 22 Apr 2013 22:09:46 +0200 Message-Id: <1366661386-6720-5-git-send-email-kevin.baradon@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1366661386-6720-1-git-send-email-kevin.baradon@gmail.com> References: <1366661386-6720-1-git-send-email-kevin.baradon@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2925 Lines: 58 This avoids: Apr 12 23:52:16 homeserver kernel: imon:send_packet: task interrupted Apr 12 23:52:16 homeserver kernel: ------------[ cut here ]------------ Apr 12 23:52:16 homeserver kernel: WARNING: at drivers/usb/core/urb.c:327 usb_submit_urb+0x353/0x370() Apr 12 23:52:16 homeserver kernel: Hardware name: Unknow Apr 12 23:52:16 homeserver kernel: URB f64b6f00 submitted while active Apr 12 23:52:16 homeserver kernel: Modules linked in: Apr 12 23:52:16 homeserver kernel: Pid: 3154, comm: LCDd Not tainted 3.8.6-htpc-00005-g9e6fc5e #26 Apr 12 23:52:16 homeserver kernel: Call Trace: Apr 12 23:52:16 homeserver kernel: [] ? warn_slowpath_common+0x78/0xb0 Apr 12 23:52:16 homeserver kernel: [] ? usb_submit_urb+0x353/0x370 Apr 12 23:52:16 homeserver kernel: [] ? usb_submit_urb+0x353/0x370 Apr 12 23:52:16 homeserver kernel: [] ? imon_ir_change_protocol+0x150/0x150 Apr 12 23:52:16 homeserver kernel: [] ? warn_slowpath_fmt+0x33/0x40 Apr 12 23:52:16 homeserver kernel: [] ? usb_submit_urb+0x353/0x370 Apr 12 23:52:16 homeserver kernel: [] ? send_packet+0x97/0x270 Apr 12 23:52:16 homeserver kernel: [] ? send_packet+0x12e/0x270 Apr 12 23:52:16 homeserver kernel: [] ? do_nanosleep+0xa3/0xd0 Apr 12 23:52:16 homeserver kernel: [] ? vfd_write+0xae/0x250 Apr 12 23:52:16 homeserver kernel: [] ? lcd_write+0x180/0x180 Apr 12 23:52:16 homeserver kernel: [] ? vfs_write+0x89/0x140 Apr 12 23:52:16 homeserver kernel: [] ? sys_write+0x4a/0x90 Apr 12 23:52:16 homeserver kernel: [] ? sysenter_do_call+0x12/0x26 Apr 12 23:52:16 homeserver kernel: ---[ end trace a0b6f0fcfd2f9a1d ]--- Apr 12 23:52:16 homeserver kernel: imon:send_packet: error submitting urb(-16) Apr 12 23:52:16 homeserver kernel: imon:vfd_write: send packet #3 failed Apr 12 23:52:16 homeserver kernel: imon:send_packet: error submitting urb(-16) Apr 12 23:52:16 homeserver kernel: imon:vfd_write: send packet #0 failed Signed-off-by: Kevin Baradon --- drivers/media/rc/imon.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/rc/imon.c b/drivers/media/rc/imon.c index 3af7bb6..72e3fa6 100644 --- a/drivers/media/rc/imon.c +++ b/drivers/media/rc/imon.c @@ -528,8 +528,10 @@ static int send_packet(struct imon_context *ictx) mutex_unlock(&ictx->lock); retval = wait_for_completion_interruptible( &ictx->tx.finished); - if (retval) + if (retval) { + usb_kill_urb(ictx->tx_urb); pr_err_ratelimited("task interrupted\n"); + } mutex_lock(&ictx->lock); retval = ictx->tx.status; -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/