From patchwork Tue Jun 13 14:48:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitkumar Karwar X-Patchwork-Id: 9784171 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1776660212 for ; Tue, 13 Jun 2017 14:51:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C7B42870F for ; Tue, 13 Jun 2017 14:51:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0130C28712; Tue, 13 Jun 2017 14:51:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A0D2128718 for ; Tue, 13 Jun 2017 14:51:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753710AbdFMOvv (ORCPT ); Tue, 13 Jun 2017 10:51:51 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:34741 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753704AbdFMOvu (ORCPT ); Tue, 13 Jun 2017 10:51:50 -0400 Received: by mail-pg0-f68.google.com with SMTP id v14so19227486pgn.1 for ; Tue, 13 Jun 2017 07:51:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=L6ZjQneSVFHU018YiNfuh2mpFW/R1/g5YYSwPDnEUbA=; b=ZLYujeCmP+ChesuLYsMAx49xAONy+Xk/ueUlqYSxK5z4vk0ret65XBTXWxyJAM7dS7 iWrnewCKfMX8tuTVK2gyQNEx7pHIxiGaZjQvktdR4fog12bHXZ43CgZnMNR9+hx/DOLj fvIT5OhJaCUP/RlXX81wzhVjxgvoeHN5Y3kBhF5eiZXx5kAkGmznybLkU5WxhMwL/RcL CmFiMT2e7pzbU3KkJGLku9qCxsAUpYDhvkjwPHh0gAaD2GPuYoQZ1KNcBYLzB/pr/RqK S6PzG8r0OwOYdFQfXEHx43kEzboltSl+HR6Q6hatRm/JvwPhuiBzM9H1tpD2QAlqXv3X 1o7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=L6ZjQneSVFHU018YiNfuh2mpFW/R1/g5YYSwPDnEUbA=; b=nFB5rW4VcUuA1XusrUHmuynii54u8w6Y82fGVhTxmzz1IGByju9XcyZp8D/33Gs2lZ stCW93c/IXwBdMs87yJG0SXeh6JNwHupdcFKL0Z/dl6033KMSKjopZ1rnO6j0DYobIfP jnOO5O5jDsObRE8k88i8dRNRSS4g/qPSc+IxziHkmkf/ix7gR69OTvYkwNCzNrNTPTzW SF5XuJp5dFdxNJlfCzXwY+sUg4uXKc+5YCpK1xBe+C+DigON5foU4fJoEv6W/dW9ao6g XfZPNfN5Y5GwnRugznzTA64aQ1QcmKf+J4rNkOX8ZfxbhF22xj8Z/xXXIH1rhzq2x27w mCqg== X-Gm-Message-State: AKS2vOxHJPWMVVDclLuFAFHNzXDYIvJAiMBQ4j3tXWe1d4CXRkKzPxFB roixWwvUyKxcYA== X-Received: by 10.98.105.137 with SMTP id e131mr236319pfc.56.1497365509539; Tue, 13 Jun 2017 07:51:49 -0700 (PDT) Received: from cpu185.redpinesignals.com ([203.196.161.90]) by smtp.gmail.com with ESMTPSA id n4sm25212090pgt.3.2017.06.13.07.51.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 13 Jun 2017 07:51:49 -0700 (PDT) From: Amitkumar Karwar X-Google-Original-From: Amitkumar Karwar To: Kalle Valo Cc: linux-wireless@vger.kernel.org, Alexey.Brodkin@synopsys.com, Amitkumar Karwar , Karun Eagalapati , Amitkumar Karwar Subject: [PATCH 06/20] rsi: USB tx headroom cleanup Date: Tue, 13 Jun 2017 20:18:54 +0530 Message-Id: <1497365348-2305-7-git-send-email-amit.karwar@redpinesignals.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1497365348-2305-1-git-send-email-amit.karwar@redpinesignals.com> References: <1497365348-2305-1-git-send-email-amit.karwar@redpinesignals.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Karun Eagalapati USB headroom is added while submitting the data to URB as per firmware's requirement. This logic is moved to rsi_usb_card_write() so that caller need not worry about it. Signed-off-by: Karun Eagalapati Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/rsi/rsi_91x_usb.c | 41 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/drivers/net/wireless/rsi/rsi_91x_usb.c b/drivers/net/wireless/rsi/rsi_91x_usb.c index 1d7bb9d..25f6195 100644 --- a/drivers/net/wireless/rsi/rsi_91x_usb.c +++ b/drivers/net/wireless/rsi/rsi_91x_usb.c @@ -29,19 +29,24 @@ * Return: status: 0 on success, a negative error code on failure. */ static int rsi_usb_card_write(struct rsi_hw *adapter, - void *buf, + u8 *buf, u16 len, u8 endpoint) { struct rsi_91x_usbdev *dev = (struct rsi_91x_usbdev *)adapter->rsi_dev; int status; - s32 transfer; + u8 *seg = dev->tx_buffer; + int transfer; + int ep = dev->bulkout_endpoint_addr[endpoint - 1]; + memset(seg, 0, len + RSI_USB_TX_HEAD_ROOM); + memcpy(seg + RSI_USB_TX_HEAD_ROOM, buf, len); + len += RSI_USB_TX_HEAD_ROOM; + transfer = len; status = usb_bulk_msg(dev->usbdev, - usb_sndbulkpipe(dev->usbdev, - dev->bulkout_endpoint_addr[endpoint - 1]), - buf, - len, + usb_sndbulkpipe(dev->usbdev, ep), + (void *)seg, + (int)len, &transfer, HZ * 5); @@ -68,23 +73,19 @@ static int rsi_write_multiple(struct rsi_hw *adapter, u8 *data, u32 count) { - struct rsi_91x_usbdev *dev = (struct rsi_91x_usbdev *)adapter->rsi_dev; - u8 *seg = dev->tx_buffer; + struct rsi_91x_usbdev *dev = + (struct rsi_91x_usbdev *)adapter->rsi_dev; - if (dev->write_fail) - return 0; + if (!adapter) + return -ENODEV; - if (endpoint == MGMT_EP) { - memset(seg, 0, RSI_USB_TX_HEAD_ROOM); - memcpy(seg + RSI_USB_TX_HEAD_ROOM, data, count); - } else { - seg = ((u8 *)data - RSI_USB_TX_HEAD_ROOM); - } + if (endpoint == 0) + return -EINVAL; + + if (dev->write_fail) + return -ENETDOWN; - return rsi_usb_card_write(adapter, - seg, - count + RSI_USB_TX_HEAD_ROOM, - endpoint); + return rsi_usb_card_write(adapter, data, count, endpoint); } /**