From patchwork Mon Feb 25 23:30:58 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Lamparter X-Patchwork-Id: 2183221 Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id E1A1F3FD4E for ; Mon, 25 Feb 2013 23:31:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759547Ab3BYXbE (ORCPT ); Mon, 25 Feb 2013 18:31:04 -0500 Received: from mail-ee0-f43.google.com ([74.125.83.43]:65286 "EHLO mail-ee0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756472Ab3BYXbC (ORCPT ); Mon, 25 Feb 2013 18:31:02 -0500 Received: by mail-ee0-f43.google.com with SMTP id c50so1833914eek.2 for ; Mon, 25 Feb 2013 15:31:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=x-received:from:to:subject:date:user-agent:cc:references :in-reply-to:mime-version:content-type:content-transfer-encoding :message-id; bh=Zbw93gmHQdUU5cX+od4GUvpI5R0xraRYM45j/Nnwe84=; b=zleUuht7g0oXiex/mt5Ev23M7xTn7LUsym4QXmpXcHgHJybp29vbrEpNiAyLhM2iBH njQW/Qrpe+5/C+jPALwiu767oahthtuOLgGfKbFZaAMST+MuNafalNaC5zqsLs0C3BWj gerrefv9i/jIUFf2Y4wTm2K5e9J3YrzKaRnLewmj04LUEUC2uD8/aleHOg6Ym9mZm6Cj vnYTmssckT7iVOsSwI9gaydEnLT+fqNCpwRIwBsgjiPXtpgRqKKjClQLwzYHL6Kembdw zOoEA6bIprbfZ3Mm3MsuRCkarv4vnC2cfW+GpGRZZM6GaO0UhB4am8eZPlZEwEhhNOkA OXxQ== X-Received: by 10.14.183.67 with SMTP id p43mr43597983eem.10.1361835060378; Mon, 25 Feb 2013 15:31:00 -0800 (PST) Received: from blech.mobile (f053222061.adsl.alicedsl.de. [78.53.222.61]) by mx.google.com with ESMTPS id 44sm20734185eek.5.2013.02.25.15.30.57 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 25 Feb 2013 15:30:59 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by blech.mobile (Postfix) with ESMTP id 34DC2100D56; Tue, 26 Feb 2013 00:30:59 +0100 (CET) Received: from blech.mobile ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SqRMyq-t-U3g; Tue, 26 Feb 2013 00:30:58 +0100 (CET) Received: from blech.localnet (localhost [127.0.0.1]) by blech.mobile (Postfix) with ESMTP id 8AEC110034E; Tue, 26 Feb 2013 00:30:58 +0100 (CET) From: Christian Lamparter To: Alan Stern Subject: Re: carl9170 A-MPDU transmit problem Date: Tue, 26 Feb 2013 00:30:58 +0100 User-Agent: KMail/1.13.7 (Linux/3.8.0-wl+; KDE/4.8.4; x86_64; ; ) Cc: Seth Forshee , Sarah Sharp , linux-wireless@vger.kernel.org, USB list References: In-Reply-To: MIME-Version: 1.0 Message-Id: <201302260030.58332.chunkeey@googlemail.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Monday, February 25, 2013 09:19:03 PM Alan Stern wrote: > On Mon, 25 Feb 2013, Seth Forshee wrote: > > > > >ffff88012fe19500 1519981417 S Bo:3:003:1 -115 126 = 7e000000 ... <-- DATA > > > > > > > > > > [... long period where the device receives commands on EP4 and sends > > > > > wifi data to the host via EP2 - so it is working!] > > > > > > > > > >ffff880146c8af00 1522200650 S Bo:3:003:1 -115 62 = 3e000000 ... <-- DELBA > > > > >ffff88012fe19500 1522200720 C Bo:3:003:1 0 126 > <-- DATA urb completion > > > > >ffff880146c8af00 1522200756 C Bo:3:003:1 0 62 > <-- DELBA urb completion > > > > Which kernel version are you testing under? Can you please recompile > > > with CONFIG_USB_DEBUG and CONFIG_USB_XHCI_HCD_DEBUGGING turned on, and > > > send me dmesg? I should be able to see if there's an unhandled pending > > > event on the xHCI rings if the data URB stalls for longer than say, a > > > minute. > > > > I'll do this. > > Bear in mind that the usbmon trace shows the URB stalling for 2 - 3 > seconds. There may have been other examples that went on for longer, > but probably nothing anywhere near as long as a minute. > --- This should open up the window for as long as we want it. The driver will now queue, but not deliver any frames to the device when there are unfinished urbs. Note: Just in case someone is interested in the interval values of the eps. I attached a lsusb dump of a typical carl9170 device (So, apart from the vendor and product id, it should be the same for DWA-160 A2). Regards, Christian --- --- Bus 004 Device 005: ID 0846:9010 NetGear, Inc. WNDA3100v1 802.11abgn [Atheros AR9170+AR9104] Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 64 idVendor 0x0846 NetGear, Inc. idProduct 0x9010 WNDA3100v1 802.11abgn [Atheros AR9170+AR9104] bcdDevice 1.06 iManufacturer 16 ATHER iProduct 32 USB2.0 WLAN iSerial 48 12345 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 46 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 4 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 64 bNumConfigurations 0 Device Status: 0x0000 (Bus Powered) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/wireless/ath/carl9170/tx.c b/drivers/net/wireless/ath/carl9170/tx.c index 9c0b150..3931a1e 100644 --- a/drivers/net/wireless/ath/carl9170/tx.c +++ b/drivers/net/wireless/ath/carl9170/tx.c @@ -598,7 +598,6 @@ next: * - all bugs you can't... * - ... */ - carl9170_restart(ar, CARL9170_RR_STUCK_TX); } } @@ -1336,6 +1335,9 @@ static void carl9170_tx(struct ar9170 *ar) if (unlikely(!IS_STARTED(ar))) return; + if (atomic_read(&ar->tx_total_pending)) + return; + carl9170_usb_handle_tx_err(ar); for (i = 0; i < ar->hw->queues; i++) {