From patchwork Sat Aug 17 16:24:55 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Lei X-Patchwork-Id: 267983 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 661592C00D3 for ; Sun, 18 Aug 2013 02:30:17 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754283Ab3HQQaM (ORCPT ); Sat, 17 Aug 2013 12:30:12 -0400 Received: from mail-pd0-f170.google.com ([209.85.192.170]:60759 "EHLO mail-pd0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754259Ab3HQQaK (ORCPT ); Sat, 17 Aug 2013 12:30:10 -0400 Received: by mail-pd0-f170.google.com with SMTP id x10so3389523pdj.15 for ; Sat, 17 Aug 2013 09:30:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=G+OPIWCJxrx2LxGDh5rRXFt8wIbD2A7HdFWt5AqlZEM=; b=ECAHd/owkZc/xTm7OD7sYkt8bmmwlsRuc02xTslX9OSE9zCujj++jVpHSOIr+WiIsV 7191OM+i31mJ24FaJb76EQLzyzHMCuIzQ/pL0uq4JytJQ+R95dVelYx8tM+c+VTe7vSJ Q8etNG2h0JGLHIPqcVwe7DcrZnCkg9FTZcR60llJRxwidK1Mj46R4KgIYzrlXgRPisYZ pvqVtfMWCOI+/xCrxh8zac34bY+dI6To86rWp6ijlcwj0odF7mJACVa+Dj42emiMDRr0 VY06wb/bfkZLJ4MGLLWxJ5uZsJqGNSc2WwxxCpYj2XKRCrp8C/YTnxI6RbZSg1vKJV1X xHHQ== X-Received: by 10.66.229.106 with SMTP id sp10mr3795743pac.117.1376757010218; Sat, 17 Aug 2013 09:30:10 -0700 (PDT) Received: from localhost ([183.37.213.217]) by mx.google.com with ESMTPSA id il4sm4526635pbb.36.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sat, 17 Aug 2013 09:30:09 -0700 (PDT) From: Ming Lei To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, Oliver Neukum , Alan Stern , Ming Lei , netdev@vger.kernel.org Subject: [PATCH v1 30/49] USBNET: kaweth: prepare for enabling irq in complete() Date: Sun, 18 Aug 2013 00:24:55 +0800 Message-Id: <1376756714-25479-31-git-send-email-ming.lei@canonical.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1376756714-25479-1-git-send-email-ming.lei@canonical.com> References: <1376756714-25479-1-git-send-email-ming.lei@canonical.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Complete() will be run with interrupt enabled, so change to spin_lock_irqsave(). Cc: netdev@vger.kernel.org Signed-off-by: Ming Lei --- drivers/net/usb/kaweth.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c index afb117c..4addbbf 100644 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c @@ -598,6 +598,7 @@ static void kaweth_usb_receive(struct urb *urb) struct kaweth_device *kaweth = urb->context; struct net_device *net = kaweth->net; int status = urb->status; + unsigned long flags; int count = urb->actual_length; int count2 = urb->transfer_buffer_length; @@ -630,12 +631,12 @@ static void kaweth_usb_receive(struct urb *urb) kaweth->stats.rx_errors++; dev_dbg(dev, "Status was -EOVERFLOW.\n"); } - spin_lock(&kaweth->device_lock); + spin_lock_irqsave(&kaweth->device_lock, flags); if (IS_BLOCKED(kaweth->status)) { - spin_unlock(&kaweth->device_lock); + spin_unlock_irqrestore(&kaweth->device_lock, flags); return; } - spin_unlock(&kaweth->device_lock); + spin_unlock_irqrestore(&kaweth->device_lock, flags); if(status && status != -EREMOTEIO && count != 1) { dev_err(&kaweth->intf->dev,