lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <80c95bc7-aac3-000d-2749-d470fb71933d@gmail.com>
Date:   Wed, 15 Sep 2021 20:40:04 +0300
From:   Pavel Skripkin <paskripkin@...il.com>
To:     Larry Finger <Larry.Finger@...inger.net>,
        "Fabio M. De Francesco" <fmdefrancesco@...il.com>,
        Philip Potter <phil@...lpotter.co.uk>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org,
        David Laight <david.Laight@...lab.com>,
        Dan Carpenter <dan.carpenter@...cle.com>
Subject: Re: [PATCH v5 10/19] staging: r8188eu: remove the helpers of
 usb_write_port()

On 9/15/21 19:06, Larry Finger wrote:
> On 9/15/21 07:41, Fabio M. De Francesco wrote:
>> From: Pavel Skripkin <paskripkin@...il.com>
>> 
>> Remove the unnecessary _rtw_write_port() and usb_write_port() and embed
>> their code into the caller (i.e., rtw_write_port()).
>> 
>> _rtw_write_port() is a mere redefinition of rtw_write_port() and it is
>> unneeded. usb_write_port() was the only functions assigned to the
>> (*_usb_write_port) pointer, so we can simply remove it and make a direct
>> call.
>> 
>> This patch is in preparation for the _io_ops structure removal.
>> 
>> Co-developed-by: Fabio M. De Francesco <fmdefrancesco@...il.com>
>> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@...il.com>
>> Signed-off-by: Pavel Skripkin <paskripkin@...il.com>
>> ---
>>   drivers/staging/r8188eu/core/rtw_io.c         | 20 +------------------
>>   drivers/staging/r8188eu/hal/usb_ops_linux.c   |  1 -
>>   drivers/staging/r8188eu/include/rtw_io.h      |  4 +---
>>   .../staging/r8188eu/include/usb_ops_linux.h   |  1 -
>>   .../staging/r8188eu/os_dep/usb_ops_linux.c    |  3 +--
>>   5 files changed, 3 insertions(+), 26 deletions(-)
>> 
>> diff --git a/drivers/staging/r8188eu/core/rtw_io.c b/drivers/staging/r8188eu/core/rtw_io.c
>> index ac72f894da75..3a5e9dbfcb12 100644
>> --- a/drivers/staging/r8188eu/core/rtw_io.c
>> +++ b/drivers/staging/r8188eu/core/rtw_io.c
>> @@ -87,24 +87,6 @@ void _rtw_read_port_cancel(struct adapter *adapter)
>>   		_read_port_cancel(pintfhdl);
>>   }
>>   
>> -u32 _rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
>> -{
>> -	u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
>> -	struct io_priv *pio_priv = &adapter->iopriv;
>> -	struct	intf_hdl		*pintfhdl = &pio_priv->intf;
>> -	u32 ret = _SUCCESS;
>> -
>> -
>> -
>> -	_write_port = pintfhdl->io_ops._write_port;
>> -
>> -	ret = _write_port(pintfhdl, addr, cnt, pmem);
>> -
>> -
>> -
>> -	return ret;
>> -}
>> -
>>   u32 _rtw_write_port_and_wait(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem, int timeout_ms)
>>   {
>>   	int ret = _SUCCESS;
>> @@ -114,7 +96,7 @@ u32 _rtw_write_port_and_wait(struct adapter *adapter, u32 addr, u32 cnt, u8 *pme
>>   	rtw_sctx_init(&sctx, timeout_ms);
>>   	pxmitbuf->sctx = &sctx;
>>   
>> -	ret = _rtw_write_port(adapter, addr, cnt, pmem);
>> +	ret = rtw_write_port(adapter, addr, cnt, pmem);
>>   
>>   	if (ret == _SUCCESS)
>>   		ret = rtw_sctx_wait(&sctx);
>> diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c
>> index a104e3fac7d1..4fea21c0f7af 100644
>> --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c
>> +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c
>> @@ -562,7 +562,6 @@ void rtl8188eu_set_intf_ops(struct _io_ops	*pops)
>>   {
>>   
>>   	memset((u8 *)pops, 0, sizeof(struct _io_ops));
>> -	pops->_write_port = &usb_write_port;
>>   	pops->_read_port_cancel = &usb_read_port_cancel;
>>   	pops->_write_port_cancel = &usb_write_port_cancel;
>>   
>> diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h
>> index 600c6e7a375b..f2b1978b6e80 100644
>> --- a/drivers/staging/r8188eu/include/rtw_io.h
>> +++ b/drivers/staging/r8188eu/include/rtw_io.h
>> @@ -262,7 +262,7 @@ int _rtw_write16_async(struct adapter *adapter, u32 addr, u16 val);
>>   int _rtw_write32_async(struct adapter *adapter, u32 addr, u32 val);
>>   
>>   void _rtw_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
>> -u32 _rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
>> +u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
>>   u32 _rtw_write_port_and_wait(struct adapter *adapter, u32 addr, u32 cnt,
>>   			     u8 *pmem, int timeout_ms);
>>   void _rtw_write_port_cancel(struct adapter *adapter);
>> @@ -275,8 +275,6 @@ void _rtw_write_port_cancel(struct adapter *adapter);
>>   	_rtw_write16_async((adapter), (addr), (val))
>>   #define rtw_write32_async(adapter, addr, val)				\
>>   	_rtw_write32_async((adapter), (addr), (val))
>> -#define rtw_write_port(adapter, addr, cnt, mem)				\
>> -	_rtw_write_port((adapter), (addr), (cnt), (mem))
>>   #define rtw_write_port_and_wait(adapter, addr, cnt, mem, timeout_ms)	\
>>   	_rtw_write_port_and_wait((adapter), (addr), (cnt), (mem), (timeout_ms))
>>   #define rtw_write_port_cancel(adapter) _rtw_write_port_cancel((adapter))
>> diff --git a/drivers/staging/r8188eu/include/usb_ops_linux.h b/drivers/staging/r8188eu/include/usb_ops_linux.h
>> index 37e0614fd15c..bdc596fe5854 100644
>> --- a/drivers/staging/r8188eu/include/usb_ops_linux.h
>> +++ b/drivers/staging/r8188eu/include/usb_ops_linux.h
>> @@ -30,7 +30,6 @@ unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr);
>>   
>>   void usb_read_port_cancel(struct intf_hdl *pintfhdl);
>>   
>> -u32 usb_write_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem);
>>   void usb_write_port_cancel(struct intf_hdl *pintfhdl);
>>   
>>   #endif
>> diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c
>> index 9afb4df71969..36ef06f88fdd 100644
>> --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c
>> +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c
>> @@ -124,14 +124,13 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
>>   
>>   }
>>   
>> -u32 usb_write_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem)
>> +u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem)
>>   {
>>   	unsigned long irqL;
>>   	unsigned int pipe;
>>   	int status;
>>   	u32 ret = _FAIL;
>>   	struct urb *purb = NULL;
>> -	struct adapter *padapter = (struct adapter *)pintfhdl->padapter;
>>   	struct dvobj_priv	*pdvobj = adapter_to_dvobj(padapter);
>>   	struct xmit_priv	*pxmitpriv = &padapter->xmitpriv;
>>   	struct xmit_buf *pxmitbuf = (struct xmit_buf *)wmem;
>> 
> 
> Patch 1 failed to apply to Greg's staging-testing branch. Particularly with the
> changes with large number of patches, you need to remove the commits in
> question, got a 'git pull', and then test that your changes still apply.
> 

Hi, Larry, thank you for taking a look a the series.

We based our series on top staging-testing. My local working branch has 
following log:

aadf1e6fd0ca (HEAD -> ops-v5) staging: r8188eu: remove shared buffer for 
usb requests
4a2945ded9d0 staging: r8188eu: Shorten calls chain of rtw_write8/16/32/N()
dc5dd914be8a staging: r8188eu: Shorten calls chain of rtw_read8/16/32()
f6510936cbc9 staging: r8188eu: hal: Clean up rtw_read*() and rtw_write*()
92fc64725670 staging: r8188eu: hal: Clean up usbctrl_vendorreq()
2787e96f1649 staging: remove struct _io_ops
9a94c8d23439 staging: r8188eu: remove core/rtw_io.c
7bc0a60021a8 staging: r8188eu: remove the helpers of usb_write_port_cancel
ccc309c8cb36 staging: r8188eu: remove the helpers of usb_read_port_cancel
c0633b64266f staging: r8188eu: remove the helpers of usb_write_port
c0b56158b2ba staging: r8188eu: remove the helpers of usb_read_port
6bbfbaa06af3 staging: r8188eu: remove the helpers of usb_writeN
d5339c7287c4 staging: r8188eu: remove the helpers of usb_write32
8af95fe85c54 staging: r8188eu: remove the helpers of usb_write16
03f7642f7975 staging: r8188eu: remove the helpers of usb_write8
ce1a4ce58bbd staging: r8188eu: remove the helpers of rtw_read32()
5ecd53227cfa staging: r8188eu: remove the helpers of rtw_read16()
c36c862fd32e staging: r8188eu: remove the helpers of rtw_read8()
01edcf8fcbfe staging: r8188eu: remove usb_{read,write}_mem
5e57c668dc09 (origin/staging-testing, staging-testing) staging: wfx: 
ensure IRQ is ready before enabling it


Can you share your error? Thank you



With regards,
Pavel Skripkin

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ