From patchwork Fri Dec 19 08:56:00 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hayes Wang X-Patchwork-Id: 422807 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 5CC3E140079 for ; Fri, 19 Dec 2014 19:57:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752513AbaLSI5A (ORCPT ); Fri, 19 Dec 2014 03:57:00 -0500 Received: from rtits2.realtek.com ([60.250.210.242]:33820 "EHLO rtits2.realtek.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752484AbaLSI4q (ORCPT ); Fri, 19 Dec 2014 03:56:46 -0500 Authenticated-By: X-SpamFilter-By: BOX Solutions SpamTrap 5.52 with qID sBJ8uhqM021807, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtitcas12.realtek.com.tw[172.21.6.16]) by rtits2.realtek.com (8.14.9/2.40/5.64) with ESMTP id sBJ8uhqM021807 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 19 Dec 2014 16:56:43 +0800 Received: from fc21.localdomain.localdomain (172.21.71.212) by RTITCAS12.realtek.com.tw (172.21.6.16) with Microsoft SMTP Server id 14.3.181.6; Fri, 19 Dec 2014 16:56:43 +0800 From: Hayes Wang To: CC: , , , Hayes Wang Subject: [PATCH net-next 2/2] r8152: check the status before submitting rx Date: Fri, 19 Dec 2014 16:56:00 +0800 Message-ID: <1394712342-15778-109-Taiwan-albertk@realtek.com> X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <1394712342-15778-107-Taiwan-albertk@realtek.com> References: <1394712342-15778-107-Taiwan-albertk@realtek.com> MIME-Version: 1.0 X-Originating-IP: [172.21.71.212] Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Don't submit the rx if the device is unplugged, linking down, or stopped. Signed-off-by: Hayes Wang --- drivers/net/usb/r8152.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 59b70c5..b39b2e4 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -1789,6 +1789,11 @@ int r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags) { int ret; + /* The rx would be stopped, so skip submitting */ + if (test_bit(RTL8152_UNPLUG, &tp->flags) || + !test_bit(WORK_ENABLE, &tp->flags) || !(tp->speed & LINK_STATUS)) + return 0; + usb_fill_bulk_urb(agg->urb, tp->udev, usb_rcvbulkpipe(tp->udev, 1), agg->head, agg_buf_sz, (usb_complete_t)read_bulk_callback, agg);