From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932496AbcICPkR (ORCPT ); Sat, 3 Sep 2016 11:40:17 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:33037 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932375AbcICPkI (ORCPT ); Sat, 3 Sep 2016 11:40:08 -0400 Date: Sat, 3 Sep 2016 22:30:19 +0700 From: Ivan Safonov To: Greg Kroah-Hartman , Bhaktipriya Shridhar , Binoy Jayan , Arnd Bergmann , Shraddha Barke , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Cc: Ivan Safonov Subject: [PATCH 13/63] staging: r8188eu: remove usb_vendor_req_buf member of dvobj_priv Message-ID: <20160903153019.GA17018@alpha.sfu-kras.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Memory allocation moved into usbctrl_vendorreq function. Signed-off-by: Ivan Safonov --- drivers/staging/rtl8188eu/include/drv_types.h | 2 -- drivers/staging/rtl8188eu/os_dep/usb_intf.c | 8 -------- drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 4 +++- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h index 32b4612..92807a4 100644 --- a/drivers/staging/rtl8188eu/include/drv_types.h +++ b/drivers/staging/rtl8188eu/include/drv_types.h @@ -157,8 +157,6 @@ struct dvobj_priv { int ep_num[5]; /* endpoint number */ struct mutex usb_vendor_req_mutex; - u8 *usb_vendor_req_buf; - struct usb_interface *pusbintf; struct usb_device *pusbdev; }; diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c index 7da3534..16effd7 100644 --- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c +++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c @@ -107,13 +107,6 @@ static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf) pdvobjpriv->ishighspeed = false; mutex_init(&pdvobjpriv->usb_vendor_req_mutex); - pdvobjpriv->usb_vendor_req_buf = kzalloc(MAX_USB_IO_CTL_SIZE, GFP_KERNEL); - - if (!pdvobjpriv->usb_vendor_req_buf) { - usb_set_intfdata(usb_intf, NULL); - kfree(pdvobjpriv); - return NULL; - } usb_get_dev(pusbd); return pdvobjpriv; @@ -141,7 +134,6 @@ static void usb_dvobj_deinit(struct usb_interface *usb_intf) } } - kfree(dvobj->usb_vendor_req_buf); mutex_destroy(&dvobj->usb_vendor_req_mutex); kfree(dvobj); } diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c index ce1e1a1..abb476b 100644 --- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c @@ -251,7 +251,7 @@ static int usbctrl_vendorreq(struct adapter *adapt, u8 request, u16 value, u16 i } /* Acquire IO memory for vendorreq */ - pIo_buf = dvobjpriv->usb_vendor_req_buf; + pIo_buf = kmalloc(MAX_USB_IO_CTL_SIZE, GFP_ATOMIC); if (pIo_buf == NULL) { DBG_88E("[%s] pIo_buf == NULL\n", __func__); @@ -303,6 +303,8 @@ static int usbctrl_vendorreq(struct adapter *adapt, u8 request, u16 value, u16 i if ((value >= FW_8188E_START_ADDRESS && value <= FW_8188E_END_ADDRESS) || status == len) break; } + kfree(pIo_buf); + release_mutex: mutex_unlock(&dvobjpriv->usb_vendor_req_mutex); exit: -- 2.7.3