RE: [PATCH v2] staging: unisys: visorbus: visorchannel: Refactor locking code to be statically deterministic.

2016-10-19 Thread Sell, Timothy C
> -Original Message-
> From: Kershner, David A
> Sent: Wednesday, October 19, 2016 8:04 PM
> To: Cathal Mullaney 

> Subject: RE: [PATCH v2] staging: unisys: visorbus: visorchannel: Refactor
> locking code to be statically deterministic.
> 
> > -Original Message-
> > From: Cathal Mullaney [mailto:chuckleberryf...@gmail.com]
> > Subject: [PATCH v2] staging: unisys: visorbus: visorchannel: Refactor 
> > locking
> > code to be statically deterministic.
> >
> > This patch makes locking in visorchannel_signalempty statically
> > deterministic.
> > As a result this patch fixes the sparse warning:
> > Context imbalance in 'visorchannel_signalempty' - different lock
> > contexts for basic block.
> >
> > The logic of the locking code doesn't change but the layout of the
> > original code is "frowned upon"
> > according to mails on sparse context checking.
> > Refactoring removes the warning and makes the code more readable.
> >
> > Signed-off-by: Cathal Mullaney 
> 
> Tested-by: David Kershner 
> 
> > ---
> > V2: Removed unnecessary variable initialization, as suggested by Tim Sell
> > .
> >
> >  drivers/staging/unisys/visorbus/visorchannel.c | 30 --
> --
> > --

Thanks for the quick turnaround, folks.
v2 looks great to me.

- Tim Sell
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: ks7010: Add spaces around '*'

2016-10-19 Thread Nick Rosbrook
Added spaces around a '*' in ks7010_sdio.c. Issue found by checkpatch.

Signed-off-by: Nick Rosbrook 
---
 drivers/staging/ks7010/ks7010_sdio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/ks7010/ks7010_sdio.c 
b/drivers/staging/ks7010/ks7010_sdio.c
index b02980d..55ece81 100644
--- a/drivers/staging/ks7010/ks7010_sdio.c
+++ b/drivers/staging/ks7010/ks7010_sdio.c
@@ -719,7 +719,7 @@ static int ks7010_sdio_update_index(struct ks_wlan_private 
*priv, u32 index)
return rc;
 }
 
-#define ROM_BUFF_SIZE (64*1024)
+#define ROM_BUFF_SIZE (64 * 1024)
 static int ks7010_sdio_data_compare(struct ks_wlan_private *priv, u32 address,
unsigned char *data, unsigned int size)
 {
-- 
2.7.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH v2] staging: unisys: visorbus: visorchannel: Refactor locking code to be statically deterministic.

2016-10-19 Thread Kershner, David A
> -Original Message-
> From: Cathal Mullaney [mailto:chuckleberryf...@gmail.com]
> Subject: [PATCH v2] staging: unisys: visorbus: visorchannel: Refactor locking
> code to be statically deterministic.
> 
> This patch makes locking in visorchannel_signalempty statically
> deterministic.
> As a result this patch fixes the sparse warning:
> Context imbalance in 'visorchannel_signalempty' - different lock
> contexts for basic block.
> 
> The logic of the locking code doesn't change but the layout of the
> original code is "frowned upon"
> according to mails on sparse context checking.
> Refactoring removes the warning and makes the code more readable.
> 
> Signed-off-by: Cathal Mullaney 

Tested-by: David Kershner 

> ---
> V2: Removed unnecessary variable initialization, as suggested by Tim Sell
> .
> 
>  drivers/staging/unisys/visorbus/visorchannel.c | 30 
> --

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: unisys: visorbus: visorchannel: Refactor locking code to be statically deterministic.

2016-10-19 Thread Chuckleberryfinn
On Wed, Oct 19, 2016 at 05:00:53PM +, Sell, Timothy C wrote:
> On Wednesday, October 19, 2016 7:31 AM, Cathal Mullaney wrote:
> > This patch makes locking in visorchannel_signalempty statically 
> > deterministic.
> > As a result this patch fixes the sparse warning:
> > Context imbalance in 'visorchannel_signalempty' - different lock contexts 
> > for
> > basic block.
> > 
> > The logic of the locking code doesn't change but the layout of the original
> > code is "frowned upon"
> > according to mails on sparse context checking.
> > Refactoring removes the warning and makes the code more readable.
> > 
> > Signed-off-by: Cathal Mullaney 
> > ---
> >  drivers/staging/unisys/visorbus/visorchannel.c | 26 +---
> > --
> >  1 file changed, 17 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/staging/unisys/visorbus/visorchannel.c
> > b/drivers/staging/unisys/visorbus/visorchannel.c
> > index a1381eb..1eea5d8 100644
> > --- a/drivers/staging/unisys/visorbus/visorchannel.c
> > +++ b/drivers/staging/unisys/visorbus/visorchannel.c
> > @@ -300,22 +300,30 @@
> > ---
> >  bool
> >  visorchannel_signalempty(struct visorchannel *channel, u32 queue)
> >  {
> > unsigned long flags = 0;
> > -   struct signal_queue_header sig_hdr;
> > bool rc = false;
> 
> It appears as if you no longer need to initialize 'rc' above.
> 
> Although this is NOT caused by your patch, it also looks like 'flags'
> is being unnecessarily initialized.  You may want to fix that too
> while you're in the neighborhood.
> 
> (Kernel folks seem to frown on unnecessary variable initializations.)
> 
> > 
> > -   if (channel->needs_lock)
> > -   spin_lock_irqsave(&channel->remove_lock, flags);
> > +   if (!channel->needs_lock)
> > +   return queue_empty(channel, queue);
> > 
> > -   if (sig_read_header(channel, queue, &sig_hdr))
> > -   rc = true;
> > -   if (sig_hdr.head == sig_hdr.tail)
> > -   rc = true;
> > -   if (channel->needs_lock)
> > -   spin_unlock_irqrestore(&channel->remove_lock, flags);
> > +   spin_lock_irqsave(&channel->remove_lock, flags);
> > +   rc = queue_empty(channel, queue);
> > +   spin_unlock_irqrestore(&channel->remove_lock, flags);
> > 
> > return rc;
> >  }
> > --
> > 2.7.4
> 
> Besides that, your patch looks good to me.  Thanks.
> 
> - Tim Sell
>

Thanks for your feedback Tim.
Submitted v2 with the suggested updates.
Thanks again.

Kind regards,
Cathal

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2] staging: unisys: visorbus: visorchannel: Refactor locking code to be statically deterministic.

2016-10-19 Thread Cathal Mullaney
This patch makes locking in visorchannel_signalempty statically
deterministic.
As a result this patch fixes the sparse warning:
Context imbalance in 'visorchannel_signalempty' - different lock
contexts for basic block.

The logic of the locking code doesn't change but the layout of the
original code is "frowned upon"
according to mails on sparse context checking.
Refactoring removes the warning and makes the code more readable.

Signed-off-by: Cathal Mullaney 
---
V2: Removed unnecessary variable initialization, as suggested by Tim Sell 
.

 drivers/staging/unisys/visorbus/visorchannel.c | 30 --
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/unisys/visorbus/visorchannel.c 
b/drivers/staging/unisys/visorbus/visorchannel.c
index a1381eb..a411157 100644
--- a/drivers/staging/unisys/visorbus/visorchannel.c
+++ b/drivers/staging/unisys/visorbus/visorchannel.c
@@ -300,22 +300,30 @@ EXPORT_SYMBOL_GPL(visorchannel_signalremove);
  * Return: boolean indicating whether any messages in the designated
  * channel/queue are present
  */
+
+static bool
+queue_empty(struct visorchannel *channel, u32 queue)
+{
+   struct signal_queue_header sig_hdr;
+
+   if (sig_read_header(channel, queue, &sig_hdr))
+   return true;
+
+   return (sig_hdr.head == sig_hdr.tail);
+}
+
 bool
 visorchannel_signalempty(struct visorchannel *channel, u32 queue)
 {
-   unsigned long flags = 0;
-   struct signal_queue_header sig_hdr;
-   bool rc = false;
+   bool rc;
+   unsigned long flags;
 
-   if (channel->needs_lock)
-   spin_lock_irqsave(&channel->remove_lock, flags);
+   if (!channel->needs_lock)
+   return queue_empty(channel, queue);
 
-   if (sig_read_header(channel, queue, &sig_hdr))
-   rc = true;
-   if (sig_hdr.head == sig_hdr.tail)
-   rc = true;
-   if (channel->needs_lock)
-   spin_unlock_irqrestore(&channel->remove_lock, flags);
+   spin_lock_irqsave(&channel->remove_lock, flags);
+   rc = queue_empty(channel, queue);
+   spin_unlock_irqrestore(&channel->remove_lock, flags);
 
return rc;
 }
-- 
2.7.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 1/5] staging: rtl8188eu: os_dep: remove empty lines

2016-10-19 Thread Pierre-Yves Kerbrat
Remove unnecessary empty lines (issue found by checkpatch)

Signed-off-by: Pierre-Yves Kerbrat 
---
 drivers/staging/rtl8188eu/os_dep/osdep_service.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/osdep_service.c 
b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
index 7cd2655f27fe..2b9ae441b88e 100644
--- a/drivers/staging/rtl8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
@@ -12,8 +12,6 @@
  * more details.
  *
  
**/
-
-
 #define _OSDEP_SERVICE_C_
 
 #include 
-- 
2.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 5/5] staging: rtl8188eu: os_dep: remove unnecessary alloc fail message

2016-10-19 Thread Pierre-Yves Kerbrat
Remove redundant alloc fail message
This patch fixes the warning found by checkpatch

Signed-off-by: Pierre-Yves Kerbrat 
---
 drivers/staging/rtl8188eu/os_dep/osdep_service.c | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/osdep_service.c 
b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
index c036fe7d1df8..6ff836f481da 100644
--- a/drivers/staging/rtl8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
@@ -43,14 +43,12 @@ void *rtw_malloc2d(int h, int w, int size)
int j;
 
void **a = kzalloc(h * sizeof(void *) + h * w * size, GFP_KERNEL);
-   if (!a) {
-   pr_info("%s: alloc memory fail!\n", __func__);
-   return NULL;
-   }
+   if (!a)
+   goto out;
 
for (j = 0; j < h; j++)
a[j] = ((char *)(a + h)) + j * w * size;
-
+out:
return a;
 }
 
-- 
2.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 2/5] staging: rtl8188eu: os_dep: fix block comment alignment issue

2016-10-19 Thread Pierre-Yves Kerbrat
Fix coding style issue in block comment in osdep_service.c found by
checkpatch tool

Signed-off-by: Pierre-Yves Kerbrat 
---
 drivers/staging/rtl8188eu/os_dep/osdep_service.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/osdep_service.c 
b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
index 2b9ae441b88e..534e58ecc510 100644
--- a/drivers/staging/rtl8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
@@ -22,9 +22,10 @@
 #include 
 
 /*
-* Translate the OS dependent @param error_code to OS independent 
RTW_STATUS_CODE
-* @return: one of RTW_STATUS_CODE
-*/
+ * Translate the OS dependent @param error_code to OS independent
+ * RTW_STATUS_CODE
+ * @return: one of RTW_STATUS_CODE
+ */
 inline int RTW_STATUS_CODE(int error_code)
 {
if (error_code >= 0)
-- 
2.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 3/5] staging: rtl8188eu: os_dep: fix missing spaces around operators

2016-10-19 Thread Pierre-Yves Kerbrat
Fix missing space around operators in rtw_alloc2d function in
osdep_service.c

Signed-off-by: Pierre-Yves Kerbrat 
---
 drivers/staging/rtl8188eu/os_dep/osdep_service.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/osdep_service.c 
b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
index 534e58ecc510..df5f44000cf0 100644
--- a/drivers/staging/rtl8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
@@ -42,14 +42,14 @@ void *rtw_malloc2d(int h, int w, int size)
 {
int j;
 
-   void **a = kzalloc(h*sizeof(void *) + h*w*size, GFP_KERNEL);
+   void **a = kzalloc(h * sizeof(void *) + h * w * size, GFP_KERNEL);
if (!a) {
pr_info("%s: alloc memory fail!\n", __func__);
return NULL;
}
 
for (j = 0; j < h; j++)
-   a[j] = ((char *)(a+h)) + j*w*size;
+   a[j] = ((char *)(a + h)) + j * w * size;
 
return a;
 }
-- 
2.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 4/5] staging: rtl8188eu: os_dep: remove unnecessary parentheses

2016-10-19 Thread Pierre-Yves Kerbrat
Remove parentheses in _rtw_init_queue to fix checkpatch warning

Signed-off-by: Pierre-Yves Kerbrat 
---
 drivers/staging/rtl8188eu/os_dep/osdep_service.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/osdep_service.c 
b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
index df5f44000cf0..c036fe7d1df8 100644
--- a/drivers/staging/rtl8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
@@ -54,10 +54,10 @@ void *rtw_malloc2d(int h, int w, int size)
return a;
 }
 
-void   _rtw_init_queue(struct __queue *pqueue)
+void _rtw_init_queue(struct __queue *pqueue)
 {
-   INIT_LIST_HEAD(&(pqueue->queue));
-   spin_lock_init(&(pqueue->lock));
+   INIT_LIST_HEAD(&pqueue->queue);
+   spin_lock_init(&pqueue->lock);
 }
 
 struct net_device *rtw_alloc_etherdev_with_old_priv(void *old_priv)
-- 
2.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 0/5] staging: rtl8188eu: os_dep: fix checkpatch issues

2016-10-19 Thread Pierre-Yves Kerbrat
Hi all,

This patchset fixes some of the checkpatch issues found in
osdep_service.c file of rtl8188eu

Pierre-Yves Kerbrat (5):
  staging: rtl8188eu: os_dep: remove empty lines
  staging: rtl8188eu: os_dep: fix block comment alignment issue
  staging: rtl8188eu: os_dep: fix missing spaces around operators
  staging: rtl8188eu: os_dep: remove unnecessary parentheses
  staging: rtl8188eu: os_dep: remove unnecessary alloc fail message

 drivers/staging/rtl8188eu/os_dep/osdep_service.c | 27 +++-
 1 file changed, 12 insertions(+), 15 deletions(-)

-- 
2.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH] staging: unisys: visorbus: visorchannel: Refactor locking code to be statically deterministic.

2016-10-19 Thread Sell, Timothy C
On Wednesday, October 19, 2016 7:31 AM, Cathal Mullaney wrote:
> This patch makes locking in visorchannel_signalempty statically deterministic.
> As a result this patch fixes the sparse warning:
> Context imbalance in 'visorchannel_signalempty' - different lock contexts for
> basic block.
> 
> The logic of the locking code doesn't change but the layout of the original
> code is "frowned upon"
> according to mails on sparse context checking.
> Refactoring removes the warning and makes the code more readable.
> 
> Signed-off-by: Cathal Mullaney 
> ---
>  drivers/staging/unisys/visorbus/visorchannel.c | 26 +---
> --
>  1 file changed, 17 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/staging/unisys/visorbus/visorchannel.c
> b/drivers/staging/unisys/visorbus/visorchannel.c
> index a1381eb..1eea5d8 100644
> --- a/drivers/staging/unisys/visorbus/visorchannel.c
> +++ b/drivers/staging/unisys/visorbus/visorchannel.c
> @@ -300,22 +300,30 @@
> ---
>  bool
>  visorchannel_signalempty(struct visorchannel *channel, u32 queue)
>  {
>   unsigned long flags = 0;
> - struct signal_queue_header sig_hdr;
>   bool rc = false;

It appears as if you no longer need to initialize 'rc' above.

Although this is NOT caused by your patch, it also looks like 'flags'
is being unnecessarily initialized.  You may want to fix that too
while you're in the neighborhood.

(Kernel folks seem to frown on unnecessary variable initializations.)

> 
> - if (channel->needs_lock)
> - spin_lock_irqsave(&channel->remove_lock, flags);
> + if (!channel->needs_lock)
> + return queue_empty(channel, queue);
> 
> - if (sig_read_header(channel, queue, &sig_hdr))
> - rc = true;
> - if (sig_hdr.head == sig_hdr.tail)
> - rc = true;
> - if (channel->needs_lock)
> - spin_unlock_irqrestore(&channel->remove_lock, flags);
> + spin_lock_irqsave(&channel->remove_lock, flags);
> + rc = queue_empty(channel, queue);
> + spin_unlock_irqrestore(&channel->remove_lock, flags);
> 
>   return rc;
>  }
> --
> 2.7.4

Besides that, your patch looks good to me.  Thanks.

- Tim Sell

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 02/37] staging:r8188eu: remove device assignment after netdev_alloc_skb call

2016-10-19 Thread Andy Shevchenko
On Wed, 2016-10-19 at 19:53 +0300, Andy Shevchenko wrote:
> On Wed, 2016-10-19 at 22:07 +0700, Ivan Safonov wrote:
> > 
> > netdev_alloc_skb function
> > already set dev member of pkt_copy.
> 
> It might be one line.
> 
> Some special references:
> functions: function()
> structs: struct my_struct
> 
> P.S. Entire series lacks of cover letter.

And couple more things:
 - Use min percentage when run git format-patch to avoid inclusion non-
maintainers / non-active developers
 - Adjust your commit messages to be a bit more verbose and put
explanation "why you create the patch" before "what is done in the
patch".

> 
> > 
> > 
> > Signed-off-by: Ivan Safonov 
> > ---
> >  drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 1 -
> >  1 file changed, 1 deletion(-)
> > 
> > diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> > b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> > index 34198fe..f19b203 100644
> > --- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> > +++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> > @@ -123,7 +123,6 @@ static int recvbuf2recvframe(struct adapter
> > *adapt, struct sk_buff *pskb)
> >  
> >     pkt_copy = netdev_alloc_skb(adapt->pnetdev,
> > alloc_sz);
> >     if (pkt_copy) {
> > -   pkt_copy->dev = adapt->pnetdev;
> >     precvframe->pkt = pkt_copy;
> >     precvframe->rx_head = pkt_copy->data;
> >     precvframe->rx_end = pkt_copy->data +
> > alloc_sz;
> 

-- 
Andy Shevchenko 
Intel Finland Oy
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 02/37] staging:r8188eu: remove device assignment after netdev_alloc_skb call

2016-10-19 Thread Andy Shevchenko
On Wed, 2016-10-19 at 22:07 +0700, Ivan Safonov wrote:
> netdev_alloc_skb function
> already set dev member of pkt_copy.

It might be one line.

Some special references:
functions: function()
structs: struct my_struct

P.S. Entire series lacks of cover letter.

> 
> Signed-off-by: Ivan Safonov 
> ---
>  drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> index 34198fe..f19b203 100644
> --- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> +++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
> @@ -123,7 +123,6 @@ static int recvbuf2recvframe(struct adapter
> *adapt, struct sk_buff *pskb)
>  
>   pkt_copy = netdev_alloc_skb(adapt->pnetdev,
> alloc_sz);
>   if (pkt_copy) {
> - pkt_copy->dev = adapt->pnetdev;
>   precvframe->pkt = pkt_copy;
>   precvframe->rx_head = pkt_copy->data;
>   precvframe->rx_end = pkt_copy->data +
> alloc_sz;

-- 
Andy Shevchenko 
Intel Finland Oy
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 3/7] iio: light: tsl2583: use DEVICE_ATTR_{RO, RW, WO} macros

2016-10-19 Thread Jonathan Cameron


On 19 October 2016 11:32:06 BST, Brian Masney  wrote:
>Use the DEVICE_ATTR_RO, IIO_DEVICE_ATTR_RW, and IIO_DEVICE_ATTR_WO
>macros to create the device attributes.
>
>Signed-off-by: Brian Masney 

Hi Brian, 

One very quick comment.  Driver should be using an iio_chan_spec array and 
relevant
 info_mask elements plus read_raw etc.

That will get rid of about half of these so I would do that before cleaning up 
the remainder.

J
>---
>drivers/staging/iio/light/tsl2583.c | 117
>++--
> 1 file changed, 57 insertions(+), 60 deletions(-)
>
>diff --git a/drivers/staging/iio/light/tsl2583.c
>b/drivers/staging/iio/light/tsl2583.c
>index 8448a87..bbb8fc3 100644
>--- a/drivers/staging/iio/light/tsl2583.c
>+++ b/drivers/staging/iio/light/tsl2583.c
>@@ -501,8 +501,8 @@ static int taos_chip_off(struct iio_dev *indio_dev)
> 
> /* Sysfs Interface Functions */
> 
>-static ssize_t taos_power_state_show(struct device *dev,
>-   struct device_attribute *attr, char *buf)
>+static ssize_t power_state_show(struct device *dev,
>+  struct device_attribute *attr, char *buf)
> {
>   struct iio_dev *indio_dev = dev_to_iio_dev(dev);
>   struct tsl2583_chip *chip = iio_priv(indio_dev);
>@@ -510,9 +510,9 @@ static ssize_t taos_power_state_show(struct device
>*dev,
>   return sprintf(buf, "%d\n", chip->taos_chip_status);
> }
> 
>-static ssize_t taos_power_state_store(struct device *dev,
>-struct device_attribute *attr,
>-const char *buf, size_t len)
>+static ssize_t power_state_store(struct device *dev,
>+   struct device_attribute *attr,
>+   const char *buf, size_t len)
> {
>   struct iio_dev *indio_dev = dev_to_iio_dev(dev);
>   int value;
>@@ -528,8 +528,9 @@ static ssize_t taos_power_state_store(struct device
>*dev,
>   return len;
> }
> 
>-static ssize_t taos_gain_show(struct device *dev,
>-struct device_attribute *attr, char *buf)
>+static ssize_t illuminance0_calibscale_show(struct device *dev,
>+  struct device_attribute *attr,
>+  char *buf)
> {
>   struct iio_dev *indio_dev = dev_to_iio_dev(dev);
>   struct tsl2583_chip *chip = iio_priv(indio_dev);
>@@ -553,9 +554,9 @@ static ssize_t taos_gain_show(struct device *dev,
>   return sprintf(buf, "%s\n", gain);
> }
> 
>-static ssize_t taos_gain_store(struct device *dev,
>- struct device_attribute *attr,
>- const char *buf, size_t len)
>+static ssize_t illuminance0_calibscale_store(struct device *dev,
>+   struct device_attribute *attr,
>+   const char *buf, size_t len)
> {
>   struct iio_dev *indio_dev = dev_to_iio_dev(dev);
>   struct tsl2583_chip *chip = iio_priv(indio_dev);
>@@ -587,15 +588,16 @@ gain_store_done:
>   return ret;
> }
> 
>-static ssize_t taos_gain_available_show(struct device *dev,
>-  struct device_attribute *attr,
>-  char *buf)
>+static ssize_t illuminance0_calibscale_available_show(struct device
>*dev,
>+struct device_attribute *attr,
>+char *buf)
> {
>   return sprintf(buf, "%s\n", "1 8 16 111");
> }
> 
>-static ssize_t taos_als_time_show(struct device *dev,
>-struct device_attribute *attr, char *buf)
>+static ssize_t illuminance0_integration_time_show(struct device *dev,
>+struct device_attribute *attr,
>+char *buf)
> {
>   struct iio_dev *indio_dev = dev_to_iio_dev(dev);
>   struct tsl2583_chip *chip = iio_priv(indio_dev);
>@@ -603,9 +605,9 @@ static ssize_t taos_als_time_show(struct device
>*dev,
>   return sprintf(buf, "%d\n", chip->taos_settings.als_time);
> }
> 
>-static ssize_t taos_als_time_store(struct device *dev,
>- struct device_attribute *attr,
>- const char *buf, size_t len)
>+static ssize_t illuminance0_integration_time_store(struct device *dev,
>+struct device_attribute *attr,
>+const char *buf, size_t len)
> {
>   struct iio_dev *indio_dev = dev_to_iio_dev(dev);
>   struct tsl2583_chip *chip = iio_priv(indio_dev);
>@@ -627,16 +629,17 @@ als_time_store_done:
>   return ret;
> }
> 
>-static ssize_t taos_als_time_available_show(struct device *dev,
>-  struct device_attribute *attr,
>-  cha

[PATCH RESEND 12/12] staging: wlan-ng: avoid CamelCase: hfa384x_KeyIDChanged

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index f989ce2..01945a9 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -755,7 +755,7 @@ struct hfa384x_ps_user_count {
u16 usercnt;
 } __packed;
 
-struct hfa384x_KeyIDChanged {
+struct hfa384x_key_id_changed {
u8 sta_addr[ETH_ALEN];
u16 keyid;
 } __packed;
@@ -771,7 +771,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_assoc_status assocstatus;
struct hfa384x_auth_request authreq;
struct hfa384x_ps_user_count psusercnt;
-   struct hfa384x_KeyIDChanged keyidchanged;
+   struct hfa384x_key_id_changed keyidchanged;
 } __packed;
 
 struct hfa384x_inf_frame {
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 11/12] staging: wlan-ng: avoid CamelCase: hfa384x_PSUserCount

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index c81ca93..f989ce2 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -751,7 +751,7 @@ struct hfa384x_auth_request {
 
 /*--  Unsolicited Frame, MAC Mgmt: PSUserCount (AP Only) --*/
 
-struct hfa384x_PSUserCount {
+struct hfa384x_ps_user_count {
u16 usercnt;
 } __packed;
 
@@ -770,7 +770,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_link_status linkstatus;
struct hfa384x_assoc_status assocstatus;
struct hfa384x_auth_request authreq;
-   struct hfa384x_PSUserCount psusercnt;
+   struct hfa384x_ps_user_count psusercnt;
struct hfa384x_KeyIDChanged keyidchanged;
 } __packed;
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 07/12] staging: wlan-ng: avoid CamelCase: hfa384x_HScanResultSub

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h| 4 ++--
 drivers/staging/wlan-ng/prism2mgmt.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index c5b5208..46855fe 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -694,7 +694,7 @@ struct hfa384x_ch_info_result {
 } __packed;
 
 /*--  Inquiry Frame, Diagnose: Host Scan Results & Subfields--*/
-struct hfa384x_HScanResultSub {
+struct hfa384x_hscan_result_sub {
u16 chid;
u16 anl;
u16 sl;
@@ -710,7 +710,7 @@ struct hfa384x_HScanResultSub {
 struct hfa384x_HScanResult {
u16 nresult;
u16 rsvd;
-   struct hfa384x_HScanResultSub result[HFA384x_HSCANRESULT_MAX];
+   struct hfa384x_hscan_result_sub result[HFA384x_HSCANRESULT_MAX];
 } __packed;
 
 /*--  Unsolicited Frame, MAC Mgmt: LinkStatus --*/
diff --git a/drivers/staging/wlan-ng/prism2mgmt.c 
b/drivers/staging/wlan-ng/prism2mgmt.c
index 3a56308..f63704a 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -373,7 +373,7 @@ int prism2mgmt_scan_results(struct wlandevice *wlandev, 
void *msgp)
int result = 0;
struct p80211msg_dot11req_scan_results *req;
struct hfa384x *hw = wlandev->priv;
-   struct hfa384x_HScanResultSub *item = NULL;
+   struct hfa384x_hscan_result_sub *item = NULL;
 
int count;
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 09/12] staging: wlan-ng: avoid CamelCase: hfa384x_LinkStatus

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index e5b72dc..2c08f8b 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -723,7 +723,7 @@ struct hfa384x_hscan_result {
 #define HFA384x_LINK_AP_INRANGE((u16)5)
 #define HFA384x_LINK_ASSOCFAIL ((u16)6)
 
-struct hfa384x_LinkStatus {
+struct hfa384x_link_status {
u16 linkstatus;
 } __packed;
 
@@ -767,7 +767,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_scan_result scanresult;
struct hfa384x_ch_info_result chinforesult;
struct hfa384x_hscan_result hscanresult;
-   struct hfa384x_LinkStatus linkstatus;
+   struct hfa384x_link_status linkstatus;
struct hfa384x_assoc_status assocstatus;
struct hfa384x_AuthRequest authreq;
struct hfa384x_PSUserCount psusercnt;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 06/12] staging: wlan-ng: avoid CamelCase: hfa384x_ChInfoResult

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 9556098..c5b5208 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -688,7 +688,7 @@ struct hfa384x_ch_info_result_sub {
 #define HFA384x_CHINFORESULT_BSSACTIVE BIT(0)
 #define HFA384x_CHINFORESULT_PCFACTIVE BIT(1)
 
-struct hfa384x_ChInfoResult {
+struct hfa384x_ch_info_result {
u16 scanchannels;
struct hfa384x_ch_info_result_sub result[HFA384x_CHINFORESULT_MAX];
 } __packed;
@@ -765,7 +765,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_comm_tallies_16 commtallies16;
struct hfa384x_comm_tallies_32 commtallies32;
struct hfa384x_scan_result scanresult;
-   struct hfa384x_ChInfoResult chinforesult;
+   struct hfa384x_ch_info_result chinforesult;
struct hfa384x_HScanResult hscanresult;
struct hfa384x_LinkStatus linkstatus;
struct hfa384x_assoc_status assocstatus;
@@ -1366,7 +1366,7 @@ struct hfa384x {
struct {
atomic_t done;
u8 count;
-   struct hfa384x_ChInfoResult results;
+   struct hfa384x_ch_info_result results;
} channel_info;
 
struct hfa384x_inf_frame *scanresults;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 08/12] staging: wlan-ng: avoid CamelCase: hfa384x_HScanResult

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 46855fe..e5b72dc 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -707,7 +707,7 @@ struct hfa384x_hscan_result_sub {
u16 atim;
 } __packed;
 
-struct hfa384x_HScanResult {
+struct hfa384x_hscan_result {
u16 nresult;
u16 rsvd;
struct hfa384x_hscan_result_sub result[HFA384x_HSCANRESULT_MAX];
@@ -766,7 +766,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_comm_tallies_32 commtallies32;
struct hfa384x_scan_result scanresult;
struct hfa384x_ch_info_result chinforesult;
-   struct hfa384x_HScanResult hscanresult;
+   struct hfa384x_hscan_result hscanresult;
struct hfa384x_LinkStatus linkstatus;
struct hfa384x_assoc_status assocstatus;
struct hfa384x_AuthRequest authreq;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 04/12] staging: wlan-ng: avoid CamelCase in fields of struct hfa384x_dbmcommsquality

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase fields of struct with underscores to comply 
with the standard kernel coding style

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index a3a0ed5..2034c42 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -462,9 +462,9 @@ struct hfa384x_commsquality {
 
 /*-- Information Record: dmbcommsquality --*/
 struct hfa384x_dbmcommsquality {
-   u16 CQdbm_currBSS;
-   u16 ASLdbm_currBSS;
-   u16 ANLdbm_currFC;
+   u16 cq_dbm_curr_bss;
+   u16 asl_dbm_curr_bss;
+   u16 anl_dbm_curr_fc;
 } __packed;
 
 /*
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 03/12] staging: wlan-ng: avoid CamelCase: hfa384x_WPAData

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h   | 2 +-
 drivers/staging/wlan-ng/prism2mib.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 89380ac..a3a0ed5 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -428,7 +428,7 @@ struct hfa384x_authenticate_station_data {
 } __packed;
 
 /*-- Configuration Record: WPAData   (data portion only) --*/
-struct hfa384x_WPAData {
+struct hfa384x_wpa_data {
u16 datalen;
u8 data[0]; /* max 80 */
 } __packed;
diff --git a/drivers/staging/wlan-ng/prism2mib.c 
b/drivers/staging/wlan-ng/prism2mib.c
index d7792cd..8ea6a64 100644
--- a/drivers/staging/wlan-ng/prism2mib.c
+++ b/drivers/staging/wlan-ng/prism2mib.c
@@ -709,7 +709,7 @@ static int prism2mib_priv(struct mibrec *mib,
 
switch (mib->did) {
case DIDmib_lnx_lnxConfigTable_lnxRSNAIE:{
-   struct hfa384x_WPAData wpa;
+   struct hfa384x_wpa_data wpa;
 
if (isget) {
hfa384x_drvr_getconfig(hw,
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 01/12] staging: wlan-ng: avoid CamelCase: HFA384x_RID_CNFAPBCNint

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase define to comply with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h| 2 +-
 drivers/staging/wlan-ng/prism2mgmt.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 6337b1d..1c7a171 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -286,7 +286,7 @@
 #defineHFA384x_RID_CNFWEPFLAGS ((u16)0xFC28)
 #defineHFA384x_RID_CNFAUTHENTICATION   ((u16)0xFC2A)
 #defineHFA384x_RID_CNFROAMINGMODE  ((u16)0xFC2D)
-#defineHFA384x_RID_CNFAPBCNint ((u16)0xFC33)
+#defineHFA384x_RID_CNFAPBCNINT ((u16)0xFC33)
 #defineHFA384x_RID_CNFDBMADJUST((u16)0xFC46)
 #defineHFA384x_RID_CNFWPADATA  ((u16)0xFC48)
 #defineHFA384x_RID_CNFBASICRATES   ((u16)0xFCB3)
diff --git a/drivers/staging/wlan-ng/prism2mgmt.c 
b/drivers/staging/wlan-ng/prism2mgmt.c
index 90db53d..8be3a74 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -583,7 +583,7 @@ int prism2mgmt_start(struct wlandevice *wlandev, void *msgp)
 
/* beacon period */
word = msg->beaconperiod.data;
-   result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFAPBCNint, word);
+   result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFAPBCNINT, word);
if (result) {
netdev_err(wlandev->netdev,
   "Failed to set beacon period=%d.\n", word);
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 10/12] staging: wlan-ng: avoid CamelCase: hfa384x_AuthRequest

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 2c08f8b..c81ca93 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -744,7 +744,7 @@ struct hfa384x_assoc_status {
 
 /*--  Unsolicited Frame, MAC Mgmt: AuthRequest (AP Only) --*/
 
-struct hfa384x_AuthRequest {
+struct hfa384x_auth_request {
u8 sta_addr[ETH_ALEN];
u16 algorithm;
 } __packed;
@@ -769,7 +769,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_hscan_result hscanresult;
struct hfa384x_link_status linkstatus;
struct hfa384x_assoc_status assocstatus;
-   struct hfa384x_AuthRequest authreq;
+   struct hfa384x_auth_request authreq;
struct hfa384x_PSUserCount psusercnt;
struct hfa384x_KeyIDChanged keyidchanged;
 } __packed;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 05/12] staging: wlan-ng: avoid CamelCase: hfa384x_CommTallies16

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 2034c42..9556098 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -610,7 +610,7 @@ struct hfa384x_rx_frame {
  */
 
 /*--  Inquiry Frame, Diagnose: Communication Tallies --*/
-struct hfa384x_CommTallies16 {
+struct hfa384x_comm_tallies_16 {
u16 txunicastframes;
u16 txmulticastframes;
u16 txfragments;
@@ -762,7 +762,7 @@ struct hfa384x_KeyIDChanged {
 
 /*--  Collection of all Inf frames ---*/
 union hfa384x_infodata {
-   struct hfa384x_CommTallies16 commtallies16;
+   struct hfa384x_comm_tallies_16 commtallies16;
struct hfa384x_comm_tallies_32 commtallies32;
struct hfa384x_scan_result scanresult;
struct hfa384x_ChInfoResult chinforesult;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 5/5] staging: wlan-ng: Replace data type declaration with variable of same type in prism2sta.c

2016-10-19 Thread Sergio Paracuellos
sizeof(*var) instead of sizeof(struct XXX) is preferred.
Fix them in prism2sta.c file.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/prism2sta.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/wlan-ng/prism2sta.c 
b/drivers/staging/wlan-ng/prism2sta.c
index b3ae2bb..351f08d 100644
--- a/drivers/staging/wlan-ng/prism2sta.c
+++ b/drivers/staging/wlan-ng/prism2sta.c
@@ -1102,8 +1102,7 @@ static void prism2sta_inf_hostscanresults(struct 
wlandevice *wlandev,
 
kfree(hw->scanresults);
 
-   hw->scanresults = kmemdup(inf, sizeof(struct hfa384x_inf_frame),
- GFP_ATOMIC);
+   hw->scanresults = kmemdup(inf, sizeof(*inf), GFP_ATOMIC);
 
if (nbss == 0)
nbss = -1;
@@ -1888,8 +1887,8 @@ static struct wlandevice *create_wlan(void)
struct hfa384x *hw = NULL;
 
/* Alloc our structures */
-   wlandev = kzalloc(sizeof(struct wlandevice), GFP_KERNEL);
-   hw = kzalloc(sizeof(struct hfa384x), GFP_KERNEL);
+   wlandev = kzalloc(sizeof(*wlandev), GFP_KERNEL);
+   hw = kzalloc(sizeof(*hw), GFP_KERNEL);
 
if (!wlandev || !hw) {
kfree(wlandev);
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 10/12] staging: wlan-ng: avoid CamelCase: hfa384x_AuthRequest

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 2c08f8b..c81ca93 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -744,7 +744,7 @@ struct hfa384x_assoc_status {
 
 /*--  Unsolicited Frame, MAC Mgmt: AuthRequest (AP Only) --*/
 
-struct hfa384x_AuthRequest {
+struct hfa384x_auth_request {
u8 sta_addr[ETH_ALEN];
u16 algorithm;
 } __packed;
@@ -769,7 +769,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_hscan_result hscanresult;
struct hfa384x_link_status linkstatus;
struct hfa384x_assoc_status assocstatus;
-   struct hfa384x_AuthRequest authreq;
+   struct hfa384x_auth_request authreq;
struct hfa384x_PSUserCount psusercnt;
struct hfa384x_KeyIDChanged keyidchanged;
 } __packed;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 07/12] staging: wlan-ng: avoid CamelCase: hfa384x_HScanResultSub

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h| 4 ++--
 drivers/staging/wlan-ng/prism2mgmt.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index c5b5208..46855fe 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -694,7 +694,7 @@ struct hfa384x_ch_info_result {
 } __packed;
 
 /*--  Inquiry Frame, Diagnose: Host Scan Results & Subfields--*/
-struct hfa384x_HScanResultSub {
+struct hfa384x_hscan_result_sub {
u16 chid;
u16 anl;
u16 sl;
@@ -710,7 +710,7 @@ struct hfa384x_HScanResultSub {
 struct hfa384x_HScanResult {
u16 nresult;
u16 rsvd;
-   struct hfa384x_HScanResultSub result[HFA384x_HSCANRESULT_MAX];
+   struct hfa384x_hscan_result_sub result[HFA384x_HSCANRESULT_MAX];
 } __packed;
 
 /*--  Unsolicited Frame, MAC Mgmt: LinkStatus --*/
diff --git a/drivers/staging/wlan-ng/prism2mgmt.c 
b/drivers/staging/wlan-ng/prism2mgmt.c
index 3a56308..f63704a 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -373,7 +373,7 @@ int prism2mgmt_scan_results(struct wlandevice *wlandev, 
void *msgp)
int result = 0;
struct p80211msg_dot11req_scan_results *req;
struct hfa384x *hw = wlandev->priv;
-   struct hfa384x_HScanResultSub *item = NULL;
+   struct hfa384x_hscan_result_sub *item = NULL;
 
int count;
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 03/12] staging: wlan-ng: avoid CamelCase: hfa384x_WPAData

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h   | 2 +-
 drivers/staging/wlan-ng/prism2mib.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 89380ac..a3a0ed5 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -428,7 +428,7 @@ struct hfa384x_authenticate_station_data {
 } __packed;
 
 /*-- Configuration Record: WPAData   (data portion only) --*/
-struct hfa384x_WPAData {
+struct hfa384x_wpa_data {
u16 datalen;
u8 data[0]; /* max 80 */
 } __packed;
diff --git a/drivers/staging/wlan-ng/prism2mib.c 
b/drivers/staging/wlan-ng/prism2mib.c
index d7792cd..8ea6a64 100644
--- a/drivers/staging/wlan-ng/prism2mib.c
+++ b/drivers/staging/wlan-ng/prism2mib.c
@@ -709,7 +709,7 @@ static int prism2mib_priv(struct mibrec *mib,
 
switch (mib->did) {
case DIDmib_lnx_lnxConfigTable_lnxRSNAIE:{
-   struct hfa384x_WPAData wpa;
+   struct hfa384x_wpa_data wpa;
 
if (isget) {
hfa384x_drvr_getconfig(hw,
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 08/12] staging: wlan-ng: avoid CamelCase: hfa384x_HScanResult

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 46855fe..e5b72dc 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -707,7 +707,7 @@ struct hfa384x_hscan_result_sub {
u16 atim;
 } __packed;
 
-struct hfa384x_HScanResult {
+struct hfa384x_hscan_result {
u16 nresult;
u16 rsvd;
struct hfa384x_hscan_result_sub result[HFA384x_HSCANRESULT_MAX];
@@ -766,7 +766,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_comm_tallies_32 commtallies32;
struct hfa384x_scan_result scanresult;
struct hfa384x_ch_info_result chinforesult;
-   struct hfa384x_HScanResult hscanresult;
+   struct hfa384x_hscan_result hscanresult;
struct hfa384x_LinkStatus linkstatus;
struct hfa384x_assoc_status assocstatus;
struct hfa384x_AuthRequest authreq;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 4/5] staging: wlan-ng: Replace data type declaration with variable of same type in p80211netdev.c

2016-10-19 Thread Sergio Paracuellos
sizeof(var) instead of sizeof(struct XXX) is preferred. 
Fix them in p80211netdev.c

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/p80211netdev.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/wlan-ng/p80211netdev.c 
b/drivers/staging/wlan-ng/p80211netdev.c
index 825a63a..3a95b36 100644
--- a/drivers/staging/wlan-ng/p80211netdev.c
+++ b/drivers/staging/wlan-ng/p80211netdev.c
@@ -336,8 +336,8 @@ static int p80211knetdev_hard_start_xmit(struct sk_buff 
*skb,
goto failed;
}
 
-   memset(&p80211_hdr, 0, sizeof(union p80211_hdr));
-   memset(&p80211_wep, 0, sizeof(struct p80211_metawep));
+   memset(&p80211_hdr, 0, sizeof(p80211_hdr));
+   memset(&p80211_wep, 0, sizeof(p80211_wep));
 
if (netif_queue_stopped(netdev)) {
netdev_dbg(netdev, "called when queue stopped.\n");
@@ -375,8 +375,8 @@ static int p80211knetdev_hard_start_xmit(struct sk_buff 
*skb,
goto failed;
}
/* move the header over */
-   memcpy(&p80211_hdr, skb->data, sizeof(union p80211_hdr));
-   skb_pull(skb, sizeof(union p80211_hdr));
+   memcpy(&p80211_hdr, skb->data, sizeof(p80211_hdr));
+   skb_pull(skb, sizeof(p80211_hdr));
} else {
if (skb_ether_to_p80211
(wlandev, wlandev->ethconv, skb, &p80211_hdr,
@@ -629,9 +629,9 @@ static int p80211knetdev_set_mac_address(struct net_device 
*dev, void *addr)
resultcode = &dot11req.resultcode;
 
/* Set up a dot11req_mibset */
-   memset(&dot11req, 0, sizeof(struct p80211msg_dot11req_mibset));
+   memset(&dot11req, 0, sizeof(dot11req));
dot11req.msgcode = DIDmsg_dot11req_mibset;
-   dot11req.msglen = sizeof(struct p80211msg_dot11req_mibset);
+   dot11req.msglen = sizeof(dot11req);
memcpy(dot11req.devname,
   ((struct wlandevice *)dev->ml_priv)->name, WLAN_DEVNAMELEN_MAX - 
1);
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 04/12] staging: wlan-ng: avoid CamelCase in fields of struct hfa384x_dbmcommsquality

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase fields of struct with underscores to comply 
with the standard kernel coding style

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index a3a0ed5..2034c42 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -462,9 +462,9 @@ struct hfa384x_commsquality {
 
 /*-- Information Record: dmbcommsquality --*/
 struct hfa384x_dbmcommsquality {
-   u16 CQdbm_currBSS;
-   u16 ASLdbm_currBSS;
-   u16 ANLdbm_currFC;
+   u16 cq_dbm_curr_bss;
+   u16 asl_dbm_curr_bss;
+   u16 anl_dbm_curr_fc;
 } __packed;
 
 /*
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 3/5] staging: wlan-ng: Replace data type declaration with variable of same type in p80211conv.c

2016-10-19 Thread Sergio Paracuellos
sizeof(*var) instead of sizeof(struct XXX) is preferred. 
Fix it in p80211conv.c file.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/p80211conv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wlan-ng/p80211conv.c 
b/drivers/staging/wlan-ng/p80211conv.c
index 0247cbc..bbed7ff 100644
--- a/drivers/staging/wlan-ng/p80211conv.c
+++ b/drivers/staging/wlan-ng/p80211conv.c
@@ -615,7 +615,7 @@ int p80211skb_rxmeta_attach(struct wlandevice *wlandev, 
struct sk_buff *skb)
}
 
/* Allocate the rxmeta */
-   rxmeta = kzalloc(sizeof(struct p80211_rxmeta), GFP_ATOMIC);
+   rxmeta = kzalloc(sizeof(*rxmeta), GFP_ATOMIC);
 
if (!rxmeta) {
netdev_err(wlandev->netdev,
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 02/12] staging: wlan-ng: avoid CamelCase: hfa384x_HostScanRequest_data

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name and fields with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h| 6 +++---
 drivers/staging/wlan-ng/prism2mgmt.c | 8 
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 1c7a171..89380ac 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -408,9 +408,9 @@ struct hfa384x_caplevel {
 #define HFA384x_CREATEIBSS_JOINCREATEIBSS  0
 
 /*-- Configuration Record: HostScanRequest (data portion only) --*/
-struct hfa384x_HostScanRequest_data {
-   u16 channelList;
-   u16 txRate;
+struct hfa384x_host_scan_request_data {
+   u16 channel_list;
+   u16 tx_rate;
struct hfa384x_bytestr32 ssid;
 } __packed;
 
diff --git a/drivers/staging/wlan-ng/prism2mgmt.c 
b/drivers/staging/wlan-ng/prism2mgmt.c
index 8be3a74..3a56308 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -123,7 +123,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
int i, timeout;
int istmpenable = 0;
 
-   struct hfa384x_HostScanRequest_data scanreq;
+   struct hfa384x_host_scan_request_data scanreq;
 
/* gatekeeper check */
if (HFA384x_FIRMWARE_VERSION(hw->ident_sta_fw.major,
@@ -185,7 +185,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
 
/* set up the txrate to be 2MBPS. Should be fastest basicrate... */
word = HFA384x_RATEBIT_2;
-   scanreq.txRate = cpu_to_le16(word);
+   scanreq.tx_rate = cpu_to_le16(word);
 
/* set up the channel list */
word = 0;
@@ -197,7 +197,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
/* channel 1 is BIT 0 ... channel 14 is BIT 13 */
word |= (1 << (channel - 1));
}
-   scanreq.channelList = cpu_to_le16(word);
+   scanreq.channel_list = cpu_to_le16(word);
 
/* set up the ssid, if present. */
scanreq.ssid.len = cpu_to_le16(msg->ssid.data.len);
@@ -293,7 +293,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
 
result = hfa384x_drvr_setconfig(hw,
HFA384x_RID_HOSTSCAN, &scanreq,
-   sizeof(struct 
hfa384x_HostScanRequest_data));
+   sizeof(struct 
hfa384x_host_scan_request_data));
if (result) {
netdev_err(wlandev->netdev,
   "setconfig(SCANREQUEST) failed. result=%d\n",
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 00/12] Avoid CamelCases in hfa384x.h

2016-10-19 Thread Sergio Paracuellos
This patchset fix CamelCases in hfa384x.h header file.

This file is free of CamelCases now.

Sergio Paracuellos (12):
  staging: wlan-ng: avoid CamelCase: HFA384x_RID_CNFAPBCNint
  staging: wlan-ng: avoid CamelCase: hfa384x_HostScanRequest_data
  staging: wlan-ng: avoid CamelCase: hfa384x_WPAData
  staging: wlan-ng: avoid CamelCase in fields of struct
hfa384x_dbmcommsquality
  staging: wlan-ng: avoid CamelCase: hfa384x_CommTallies16
  staging: wlan-ng: avoid CamelCase: hfa384x_ChInfoResult
  staging: wlan-ng: avoid CamelCase: hfa384x_HScanResultSub
  staging: wlan-ng: avoid CamelCase: hfa384x_HScanResult
  staging: wlan-ng: avoid CamelCase: hfa384x_LinkStatus
  staging: wlan-ng: avoid CamelCase: hfa384x_AuthRequest
  staging: wlan-ng: avoid CamelCase: hfa384x_PSUserCount
  staging: wlan-ng: avoid CamelCase: hfa384x_KeyIDChanged

 drivers/staging/wlan-ng/hfa384x.h| 50 ++--
 drivers/staging/wlan-ng/prism2mgmt.c | 12 -
 drivers/staging/wlan-ng/prism2mib.c  |  2 +-
 3 files changed, 32 insertions(+), 32 deletions(-)

-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH RESEND 00/12] Avoid CamelCases in hfa384x.h

2016-10-19 Thread Sergio Paracuellos
This patchset fix CamelCases in hfa384x.h header file.

This file is free of CamelCases now.

This patch series are resent because an mix error in the previous sent.

Sergio Paracuellos (12):
  staging: wlan-ng: avoid CamelCase: HFA384x_RID_CNFAPBCNint
  staging: wlan-ng: avoid CamelCase: hfa384x_HostScanRequest_data
  staging: wlan-ng: avoid CamelCase: hfa384x_WPAData
  staging: wlan-ng: avoid CamelCase in fields of struct
hfa384x_dbmcommsquality
  staging: wlan-ng: avoid CamelCase: hfa384x_CommTallies16
  staging: wlan-ng: avoid CamelCase: hfa384x_ChInfoResult
  staging: wlan-ng: avoid CamelCase: hfa384x_HScanResultSub
  staging: wlan-ng: avoid CamelCase: hfa384x_HScanResult
  staging: wlan-ng: avoid CamelCase: hfa384x_LinkStatus
  staging: wlan-ng: avoid CamelCase: hfa384x_AuthRequest
  staging: wlan-ng: avoid CamelCase: hfa384x_PSUserCount
  staging: wlan-ng: avoid CamelCase: hfa384x_KeyIDChanged

 drivers/staging/wlan-ng/hfa384x.h| 50 ++--
 drivers/staging/wlan-ng/prism2mgmt.c | 12 -
 drivers/staging/wlan-ng/prism2mib.c  |  2 +-
 3 files changed, 32 insertions(+), 32 deletions(-)

-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: wlan-ng: Replace data type declaration with variable of same type in prism2mgmt.c

2016-10-19 Thread Sergio Paracuellos
sizeof(var) instead of sizeof(struct XXX) is preferred.

It also fix the following checkpatch.pl script warning:
WARNING: line over 80 characters

Fix this two in prism2mgmt.c file.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/prism2mgmt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wlan-ng/prism2mgmt.c 
b/drivers/staging/wlan-ng/prism2mgmt.c
index f63704a..16fb2d3 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -293,7 +293,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
 
result = hfa384x_drvr_setconfig(hw,
HFA384x_RID_HOSTSCAN, &scanreq,
-   sizeof(struct 
hfa384x_host_scan_request_data));
+   sizeof(scanreq));
if (result) {
netdev_err(wlandev->netdev,
   "setconfig(SCANREQUEST) failed. result=%d\n",
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 11/12] staging: wlan-ng: avoid CamelCase: hfa384x_PSUserCount

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index c81ca93..f989ce2 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -751,7 +751,7 @@ struct hfa384x_auth_request {
 
 /*--  Unsolicited Frame, MAC Mgmt: PSUserCount (AP Only) --*/
 
-struct hfa384x_PSUserCount {
+struct hfa384x_ps_user_count {
u16 usercnt;
 } __packed;
 
@@ -770,7 +770,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_link_status linkstatus;
struct hfa384x_assoc_status assocstatus;
struct hfa384x_auth_request authreq;
-   struct hfa384x_PSUserCount psusercnt;
+   struct hfa384x_ps_user_count psusercnt;
struct hfa384x_KeyIDChanged keyidchanged;
 } __packed;
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 09/12] staging: wlan-ng: avoid CamelCase: hfa384x_LinkStatus

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index e5b72dc..2c08f8b 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -723,7 +723,7 @@ struct hfa384x_hscan_result {
 #define HFA384x_LINK_AP_INRANGE((u16)5)
 #define HFA384x_LINK_ASSOCFAIL ((u16)6)
 
-struct hfa384x_LinkStatus {
+struct hfa384x_link_status {
u16 linkstatus;
 } __packed;
 
@@ -767,7 +767,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_scan_result scanresult;
struct hfa384x_ch_info_result chinforesult;
struct hfa384x_hscan_result hscanresult;
-   struct hfa384x_LinkStatus linkstatus;
+   struct hfa384x_link_status linkstatus;
struct hfa384x_assoc_status assocstatus;
struct hfa384x_AuthRequest authreq;
struct hfa384x_PSUserCount psusercnt;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 12/12] staging: wlan-ng: avoid CamelCase: hfa384x_KeyIDChanged

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index f989ce2..01945a9 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -755,7 +755,7 @@ struct hfa384x_ps_user_count {
u16 usercnt;
 } __packed;
 
-struct hfa384x_KeyIDChanged {
+struct hfa384x_key_id_changed {
u8 sta_addr[ETH_ALEN];
u16 keyid;
 } __packed;
@@ -771,7 +771,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_assoc_status assocstatus;
struct hfa384x_auth_request authreq;
struct hfa384x_ps_user_count psusercnt;
-   struct hfa384x_KeyIDChanged keyidchanged;
+   struct hfa384x_key_id_changed keyidchanged;
 } __packed;
 
 struct hfa384x_inf_frame {
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 06/12] staging: wlan-ng: avoid CamelCase: hfa384x_ChInfoResult

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 9556098..c5b5208 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -688,7 +688,7 @@ struct hfa384x_ch_info_result_sub {
 #define HFA384x_CHINFORESULT_BSSACTIVE BIT(0)
 #define HFA384x_CHINFORESULT_PCFACTIVE BIT(1)
 
-struct hfa384x_ChInfoResult {
+struct hfa384x_ch_info_result {
u16 scanchannels;
struct hfa384x_ch_info_result_sub result[HFA384x_CHINFORESULT_MAX];
 } __packed;
@@ -765,7 +765,7 @@ struct hfa384x_KeyIDChanged {
struct hfa384x_comm_tallies_16 commtallies16;
struct hfa384x_comm_tallies_32 commtallies32;
struct hfa384x_scan_result scanresult;
-   struct hfa384x_ChInfoResult chinforesult;
+   struct hfa384x_ch_info_result chinforesult;
struct hfa384x_HScanResult hscanresult;
struct hfa384x_LinkStatus linkstatus;
struct hfa384x_assoc_status assocstatus;
@@ -1366,7 +1366,7 @@ struct hfa384x {
struct {
atomic_t done;
u8 count;
-   struct hfa384x_ChInfoResult results;
+   struct hfa384x_ch_info_result results;
} channel_info;
 
struct hfa384x_inf_frame *scanresults;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 05/12] staging: wlan-ng: avoid CamelCase: hfa384x_CommTallies16

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 2034c42..9556098 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -610,7 +610,7 @@ struct hfa384x_rx_frame {
  */
 
 /*--  Inquiry Frame, Diagnose: Communication Tallies --*/
-struct hfa384x_CommTallies16 {
+struct hfa384x_comm_tallies_16 {
u16 txunicastframes;
u16 txmulticastframes;
u16 txfragments;
@@ -762,7 +762,7 @@ struct hfa384x_KeyIDChanged {
 
 /*--  Collection of all Inf frames ---*/
 union hfa384x_infodata {
-   struct hfa384x_CommTallies16 commtallies16;
+   struct hfa384x_comm_tallies_16 commtallies16;
struct hfa384x_comm_tallies_32 commtallies32;
struct hfa384x_scan_result scanresult;
struct hfa384x_ChInfoResult chinforesult;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 01/12] staging: wlan-ng: avoid CamelCase: HFA384x_RID_CNFAPBCNint

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase define to comply with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h| 2 +-
 drivers/staging/wlan-ng/prism2mgmt.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 6337b1d..1c7a171 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -286,7 +286,7 @@
 #defineHFA384x_RID_CNFWEPFLAGS ((u16)0xFC28)
 #defineHFA384x_RID_CNFAUTHENTICATION   ((u16)0xFC2A)
 #defineHFA384x_RID_CNFROAMINGMODE  ((u16)0xFC2D)
-#defineHFA384x_RID_CNFAPBCNint ((u16)0xFC33)
+#defineHFA384x_RID_CNFAPBCNINT ((u16)0xFC33)
 #defineHFA384x_RID_CNFDBMADJUST((u16)0xFC46)
 #defineHFA384x_RID_CNFWPADATA  ((u16)0xFC48)
 #defineHFA384x_RID_CNFBASICRATES   ((u16)0xFCB3)
diff --git a/drivers/staging/wlan-ng/prism2mgmt.c 
b/drivers/staging/wlan-ng/prism2mgmt.c
index 90db53d..8be3a74 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -583,7 +583,7 @@ int prism2mgmt_start(struct wlandevice *wlandev, void *msgp)
 
/* beacon period */
word = msg->beaconperiod.data;
-   result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFAPBCNint, word);
+   result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFAPBCNINT, word);
if (result) {
netdev_err(wlandev->netdev,
   "Failed to set beacon period=%d.\n", word);
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 2/5] staging: wlan-ng: Replace data type declaration with variable of same type in hfa384x_usb.c

2016-10-19 Thread Sergio Paracuellos
sizeof(var) instead of sizeof(struct XXX) is preferred.
Fix it in hfa384x_usb.c file.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x_usb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c 
b/drivers/staging/wlan-ng/hfa384x_usb.c
index fbd9dc6..a83026e 100644
--- a/drivers/staging/wlan-ng/hfa384x_usb.c
+++ b/drivers/staging/wlan-ng/hfa384x_usb.c
@@ -531,7 +531,7 @@ static void hfa384x_usb_defer(struct work_struct *data)
  */
 void hfa384x_create(struct hfa384x *hw, struct usb_device *usb)
 {
-   memset(hw, 0, sizeof(struct hfa384x));
+   memset(hw, 0, sizeof(*hw));
hw->usb = usb;
 
/* set up the endpoints */
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 1/5] staging: wlan-ng: Replace data type declaration with variable of same type in cfg80211.c

2016-10-19 Thread Sergio Paracuellos
sizeof(var) instead of sizeof(struct XXX) is preferred. 
Fix it in cfg80211.c file.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/cfg80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wlan-ng/cfg80211.c 
b/drivers/staging/wlan-ng/cfg80211.c
index 182b2d5..67c48a8 100644
--- a/drivers/staging/wlan-ng/cfg80211.c
+++ b/drivers/staging/wlan-ng/cfg80211.c
@@ -323,7 +323,7 @@ static int prism2_scan(struct wiphy *wiphy,
 
priv->scan_request = request;
 
-   memset(&msg1, 0x00, sizeof(struct p80211msg_dot11req_scan));
+   memset(&msg1, 0x00, sizeof(msg1));
msg1.msgcode = DIDmsg_dot11req_scan;
msg1.bsstype.data = P80211ENUM_bsstype_any;
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 02/12] staging: wlan-ng: avoid CamelCase: hfa384x_HostScanRequest_data

2016-10-19 Thread Sergio Paracuellos
Replace CamelCase struct name and fields with underscores to comply 
with the standard kernel coding style.

Signed-off-by: Sergio Paracuellos 
---
 drivers/staging/wlan-ng/hfa384x.h| 6 +++---
 drivers/staging/wlan-ng/prism2mgmt.c | 8 
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 1c7a171..89380ac 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -408,9 +408,9 @@ struct hfa384x_caplevel {
 #define HFA384x_CREATEIBSS_JOINCREATEIBSS  0
 
 /*-- Configuration Record: HostScanRequest (data portion only) --*/
-struct hfa384x_HostScanRequest_data {
-   u16 channelList;
-   u16 txRate;
+struct hfa384x_host_scan_request_data {
+   u16 channel_list;
+   u16 tx_rate;
struct hfa384x_bytestr32 ssid;
 } __packed;
 
diff --git a/drivers/staging/wlan-ng/prism2mgmt.c 
b/drivers/staging/wlan-ng/prism2mgmt.c
index 8be3a74..3a56308 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -123,7 +123,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
int i, timeout;
int istmpenable = 0;
 
-   struct hfa384x_HostScanRequest_data scanreq;
+   struct hfa384x_host_scan_request_data scanreq;
 
/* gatekeeper check */
if (HFA384x_FIRMWARE_VERSION(hw->ident_sta_fw.major,
@@ -185,7 +185,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
 
/* set up the txrate to be 2MBPS. Should be fastest basicrate... */
word = HFA384x_RATEBIT_2;
-   scanreq.txRate = cpu_to_le16(word);
+   scanreq.tx_rate = cpu_to_le16(word);
 
/* set up the channel list */
word = 0;
@@ -197,7 +197,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
/* channel 1 is BIT 0 ... channel 14 is BIT 13 */
word |= (1 << (channel - 1));
}
-   scanreq.channelList = cpu_to_le16(word);
+   scanreq.channel_list = cpu_to_le16(word);
 
/* set up the ssid, if present. */
scanreq.ssid.len = cpu_to_le16(msg->ssid.data.len);
@@ -293,7 +293,7 @@ int prism2mgmt_scan(struct wlandevice *wlandev, void *msgp)
 
result = hfa384x_drvr_setconfig(hw,
HFA384x_RID_HOSTSCAN, &scanreq,
-   sizeof(struct 
hfa384x_HostScanRequest_data));
+   sizeof(struct 
hfa384x_host_scan_request_data));
if (result) {
netdev_err(wlandev->netdev,
   "setconfig(SCANREQUEST) failed. result=%d\n",
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 11/37] staging:r8188eu: remove is_(multicast|broadcast)_mac_addr

2016-10-19 Thread Ivan Safonov
is_multicast_ether_addr used instead.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c |  3 +--
 drivers/staging/rtl8188eu/include/ieee80211.h | 11 ---
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 74220f3..9333535 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1023,8 +1023,7 @@ static int validate_recv_mgnt_frame(struct adapter 
*padapter,
if (!memcmp(padapter->eeprompriv.mac_addr,
GetAddr1Ptr(precv_frame->rx_data), 
ETH_ALEN))
psta->sta_stats.rx_probersp_pkts++;
-   else if 
(is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->rx_data)) ||
-
is_multicast_mac_addr(GetAddr1Ptr(precv_frame->rx_data)))
+   else if 
(is_multicast_ether_addr(GetAddr1Ptr(precv_frame->rx_data)))
psta->sta_stats.rx_probersp_bm_pkts++;
else
psta->sta_stats.rx_probersp_uo_pkts++;
diff --git a/drivers/staging/rtl8188eu/include/ieee80211.h 
b/drivers/staging/rtl8188eu/include/ieee80211.h
index fc58621..4c2fe53 100644
--- a/drivers/staging/rtl8188eu/include/ieee80211.h
+++ b/drivers/staging/rtl8188eu/include/ieee80211.h
@@ -623,17 +623,6 @@ enum ieee80211_state {
 #define DEFAULT_MAX_SCAN_AGE (15 * HZ)
 #define DEFAULT_FTS 2346
 
-static inline int is_multicast_mac_addr(const u8 *addr)
-{
-   return ((addr[0] != 0xff) && (0x01 & addr[0]));
-}
-
-static inline int is_broadcast_mac_addr(const u8 *addr)
-{
-   return (addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) &&
-  (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff);
-}
-
 #define CFG_IEEE80211_RESERVE_FCS (1<<0)
 #define CFG_IEEE80211_COMPUTE_FCS (1<<1)
 
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 31/37] staging:r8188eu: remove pscanned member of mlme_priv structure

2016-10-19 Thread Ivan Safonov
This member used only as local variable.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_ioctl_set.c |  2 --
 drivers/staging/rtl8188eu/core/rtw_mlme.c  | 11 +--
 drivers/staging/rtl8188eu/include/rtw_mlme.h   |  1 -
 drivers/staging/rtl8188eu/os_dep/ioctl_linux.c | 19 +++
 4 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c 
b/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c
index 67508a6..9d4472a 100644
--- a/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c
@@ -40,8 +40,6 @@ u8 rtw_do_join(struct adapter *padapter)
 
set_fwstate(pmlmepriv, _FW_UNDER_LINKING);
 
-   pmlmepriv->pscanned = plist;
-
pmlmepriv->to_join = true;
 
if (list_empty(&queue->queue)) {
diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme.c 
b/drivers/staging/rtl8188eu/core/rtw_mlme.c
index 249e004..1322688 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme.c
@@ -42,8 +42,6 @@ int rtw_init_mlme_priv(struct adapter *padapter)
/*  We don't need to memset padapter->XXX to zero, because adapter is 
allocated by vzalloc(). */
 
pmlmepriv->nic_hdl = (u8 *)padapter;
-
-   pmlmepriv->pscanned = NULL;
pmlmepriv->fw_state = 0;
pmlmepriv->cur_network.network.InfrastructureMode = 
Ndis802_11AutoUnknown;
pmlmepriv->scan_mode = SCAN_ACTIVE;/*  1: active, 0: pasive. Maybe 
someday we should rename this varable to "active_mode" (Jeff) */
@@ -1504,19 +1502,20 @@ int rtw_select_and_join_from_scanned_queue(struct 
mlme_priv *pmlmepriv)
struct  wlan_network*pnetwork = NULL;
struct  wlan_network*candidate = NULL;
u8  supp_ant_div = false;
+   struct list_head *scanned;
 
spin_lock_bh(&(pmlmepriv->scanned_queue.lock));
phead = get_list_head(queue);
adapter = (struct adapter *)pmlmepriv->nic_hdl;
-   pmlmepriv->pscanned = phead->next;
-   while (phead != pmlmepriv->pscanned) {
-   pnetwork = container_of(pmlmepriv->pscanned, struct 
wlan_network, list);
+   scanned = phead->next;
+   while (phead != scanned) {
+   pnetwork = container_of(scanned, struct wlan_network, list);
if (pnetwork == NULL) {
RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s 
return _FAIL:(pnetwork==NULL)\n", __func__));
ret = _FAIL;
goto exit;
}
-   pmlmepriv->pscanned = pmlmepriv->pscanned->next;
+   scanned = scanned->next;
rtw_check_join_candidate(pmlmepriv, &candidate, pnetwork);
}
if (candidate == NULL) {
diff --git a/drivers/staging/rtl8188eu/include/rtw_mlme.h 
b/drivers/staging/rtl8188eu/include/rtw_mlme.h
index a30448a..e1e46ce 100644
--- a/drivers/staging/rtl8188eu/include/rtw_mlme.h
+++ b/drivers/staging/rtl8188eu/include/rtw_mlme.h
@@ -293,7 +293,6 @@ struct mlme_priv {
 
u8 *nic_hdl;
 
-   struct list_head *pscanned;
struct __queue free_bss_pool;
struct __queue scanned_queue;
u8 *free_bss_buf;
diff --git a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c 
b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
index 6364a05..2a81796 100644
--- a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
@@ -966,6 +966,7 @@ static int rtw_wx_set_wap(struct net_device *dev,
struct __queue *queue   = &(pmlmepriv->scanned_queue);
struct  wlan_network*pnetwork = NULL;
enum ndis_802_11_auth_mode  authmode;
+   struct list_head *scanned;
 
if (_FAIL == rtw_pwr_wakeup(padapter)) {
ret = -1;
@@ -985,12 +986,12 @@ static int rtw_wx_set_wap(struct net_device *dev,
authmode = padapter->securitypriv.ndisauthtype;
spin_lock_bh(&queue->lock);
phead = get_list_head(queue);
-   pmlmepriv->pscanned = phead->next;
+   scanned = phead->next;
 
-   while (phead != pmlmepriv->pscanned) {
-   pnetwork = container_of(pmlmepriv->pscanned, struct 
wlan_network, list);
+   while (phead != scanned) {
+   pnetwork = container_of(scanned, struct wlan_network, list);
 
-   pmlmepriv->pscanned = pmlmepriv->pscanned->next;
+   scanned = scanned->next;
 
dst_bssid = pnetwork->network.MacAddress;
 
@@ -1313,6 +1314,8 @@ static int rtw_wx_set_essid(struct net_device *dev,
authmode = padapter->securitypriv.ndisauthtype;
DBG_88E("=>%s\n", __func__);
if (wrqu->essid.flags && wrqu->essid.length) {
+   struct list_head *scanned;
+
len = min_t(uint, wrqu->essid.length, IW_ESSID_MAX_SIZE);
 
if (wrqu->essid.length != 33)
@@ -1326,12 +1329,12 @@ static int rtw_wx_set_essid(struct net_de

[PATCH 30/37] staging:r8188eu: remove eth_type member of rx_pkt_attrib structure

2016-10-19 Thread Ivan Safonov
Prepare to replacing wlanhdr_to_ethhdr by ieee80211_data_to_8023.
Calculate it locally.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c| 26 --
 drivers/staging/rtl8188eu/include/rtw_recv.h |  2 --
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 630d9eb..2de4289 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1267,7 +1267,7 @@ static int validate_recv_frame(struct adapter *adapter,
 static int wlanhdr_to_ethhdr(struct recv_frame *precvframe)
 {
int rmv_len;
-   u16 eth_type, len;
+   u16 len;
__be16 be_tmp;
u8  bsnaphdr;
u8  *psnap_type;
@@ -1296,10 +1296,6 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
RT_TRACE(_module_rtl871x_recv_c_, _drv_info_,
 ("\n===pattrib->hdrlen: %x===\n\n", pattrib->hdrlen));
 
-   memcpy(&be_tmp, ptr+rmv_len, 2);
-   eth_type = ntohs(be_tmp); /* pattrib->ether_type */
-   pattrib->eth_type = eth_type;
-
ptr = skb_pull(precvframe->pkt, (rmv_len-sizeof(struct ethhdr) + 
(bsnaphdr ? 2 : 0)));
 
memcpy(ptr, pattrib->dst, ETH_ALEN);
@@ -1745,14 +1741,32 @@ static int recv_indicatepkt_reorder(struct adapter 
*padapter,
struct __queue *ppending_recvframe_queue = 
&preorder_ctrl->pending_recvframe_queue;
 
if (!pattrib->amsdu) {
+   u16 eth_type;
+   u8 *ptr = prframe->pkt->data;
+   u8 *psnap_type;
+   int eth_type_offset;
+   struct ieee80211_snap_hdr *psnap;
+
/* s1. */
strip_iv_icv(prframe->pkt, prframe->attrib.hdrlen,
 prframe->attrib.iv_len,
 prframe->attrib.encrypt ? prframe->attrib.icv_len 
: 0);
 
+   psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen);
+   psnap_type = ptr + pattrib->hdrlen + SNAP_SIZE;
+   eth_type_offset = pattrib->hdrlen;
+
+   if ((!memcmp(psnap, rtw_rfc1042_header, SNAP_SIZE) &&
+(!memcmp(psnap_type, SNAP_ETH_TYPE_IPX, 2) == false) &&
+(!memcmp(psnap_type, SNAP_ETH_TYPE_APPLETALK_AARP, 2) == 
false)) ||
+!memcmp(psnap, rtw_bridge_tunnel_header, SNAP_SIZE))
+   eth_type_offset += SNAP_SIZE;
+
+   eth_type = ntohs(*(__be16 *)(ptr + eth_type_offset));
+
wlanhdr_to_ethhdr(prframe);
 
-   if ((pattrib->qos != 1) || (pattrib->eth_type == 0x0806) ||
+   if ((pattrib->qos != 1) || eth_type == 0x0806 ||
(pattrib->ack_policy != 0)) {
if ((!padapter->bDriverStopped) &&
(!padapter->bSurpriseRemoved)) {
diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 748c014e..b86ec85 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -112,8 +112,6 @@ struct rx_pkt_attrib {
u8  crc_err;
u8  icv_err;
 
-   u16 eth_type;
-
u8  dst[ETH_ALEN];
u8  src[ETH_ALEN];
u8  ta[ETH_ALEN];
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 21/37] staging:r8188eu: change recvframe_pull_tail last argument type

2016-10-19 Thread Ivan Safonov
uint instead of int used.
This function always called with positive sz argument.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 9a7aa9e..0804e88 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -292,7 +292,7 @@ static inline u8 *recvframe_put(struct recv_frame 
*precvframe, uint sz)
return precvframe->rx_tail;
 }
 
-static inline u8 *recvframe_pull_tail(struct recv_frame *precvframe, int sz)
+static inline u8 *recvframe_pull_tail(struct recv_frame *precvframe, uint sz)
 {
/*  rmv data from rx_tail (by yitsen) */
 
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 37/37] staging:r8188eu: remove P2P_* enumerations.

2016-10-19 Thread Ivan Safonov
Driver does not use this definitions.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/wifi.h | 73 
 1 file changed, 73 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/wifi.h 
b/drivers/staging/rtl8188eu/include/wifi.h
index 9e08e68..cc5621c 100644
--- a/drivers/staging/rtl8188eu/include/wifi.h
+++ b/drivers/staging/rtl8188eu/include/wifi.h
@@ -855,64 +855,6 @@ enum ht_cap_ampdu_factor {
 #defineWPS_CM_SW_DISPLAY_P 0x2008
 #defineWPS_CM_LCD_DISPLAY_P0x4008
 
-enum P2P_ROLE {
-   P2P_ROLE_DISABLE = 0,
-   P2P_ROLE_DEVICE = 1,
-   P2P_ROLE_CLIENT = 2,
-   P2P_ROLE_GO = 3
-};
-
-enum P2P_STATE {
-   P2P_STATE_NONE = 0, /* P2P disable */
-   /* P2P had enabled and do nothing */
-   P2P_STATE_IDLE = 1,
-   P2P_STATE_LISTEN = 2,   /* In pure listen state */
-   P2P_STATE_SCAN = 3, /* In scan phase */
-   /* In the listen state of find phase */
-   P2P_STATE_FIND_PHASE_LISTEN = 4,
-   /* In the search state of find phase */
-   P2P_STATE_FIND_PHASE_SEARCH = 5,
-   /* In P2P provisioning discovery */
-   P2P_STATE_TX_PROVISION_DIS_REQ = 6,
-   P2P_STATE_RX_PROVISION_DIS_RSP = 7,
-   P2P_STATE_RX_PROVISION_DIS_REQ = 8,
-   /* Doing the group owner negotiation handshake */
-   P2P_STATE_GONEGO_ING = 9,
-   /* finish the group negotiation handshake with success */
-   P2P_STATE_GONEGO_OK = 10,
-   /* finish the group negotiation handshake with failure */
-   P2P_STATE_GONEGO_FAIL = 11,
-   /* receiving the P2P Invitation request and match with the profile. */
-   P2P_STATE_RECV_INVITE_REQ_MATCH = 12,
-   /* Doing the P2P WPS */
-   P2P_STATE_PROVISIONING_ING = 13,
-   /* Finish the P2P WPS */
-   P2P_STATE_PROVISIONING_DONE = 14,
-   /* Transmit the P2P Invitation request */
-   P2P_STATE_TX_INVITE_REQ = 15,
-   /* Receiving the P2P Invitation response */
-   P2P_STATE_RX_INVITE_RESP_OK = 16,
-   /* receiving the P2P Invitation request and dismatch with the profile. 
*/
-   P2P_STATE_RECV_INVITE_REQ_DISMATCH = 17,
-   /* receiving the P2P Invitation request and this wifi is GO. */
-   P2P_STATE_RECV_INVITE_REQ_GO = 18,
-   /* receiving the P2P Invitation request to join an existing P2P Group. 
*/
-   P2P_STATE_RECV_INVITE_REQ_JOIN = 19,
-   /* receiving the P2P Invitation response with failure */
-   P2P_STATE_RX_INVITE_RESP_FAIL = 20,
-   /* receiving p2p negotiation response with information is not available 
*/
-   P2P_STATE_RX_INFOR_NOREADY = 21,
-   /* sending p2p negotiation response with information is not available */
-   P2P_STATE_TX_INFOR_NOREADY = 22,
-};
-
-enum P2P_WPSINFO {
-   P2P_NO_WPSINFO  = 0,
-   P2P_GOT_WPSINFO_PEER_DISPLAY_PIN= 1,
-   P2P_GOT_WPSINFO_SELF_DISPLAY_PIN= 2,
-   P2P_GOT_WPSINFO_PBC = 3,
-};
-
 #defineP2P_PRIVATE_IOCTL_SET_LEN   64
 
 enum P2P_PROTO_WK_ID {
@@ -925,21 +867,6 @@ enum P2P_PROTO_WK_ID {
P2P_RO_CH_WK = 6,
 };
 
-enum P2P_PS_STATE {
-   P2P_PS_DISABLE = 0,
-   P2P_PS_ENABLE = 1,
-   P2P_PS_SCAN = 2,
-   P2P_PS_SCAN_DONE = 3,
-   P2P_PS_ALLSTASLEEP = 4, /*  for P2P GO */
-};
-
-enum P2P_PS_MODE {
-   P2P_PS_NONE = 0,
-   P2P_PS_CTWINDOW = 1,
-   P2P_PS_NOA   = 2,
-   P2P_PS_MIX = 3, /*  CTWindow and NoA */
-};
-
 /* =WFD Section= */
 /* For Wi-Fi Display */
 #defineWFD_ATTR_DEVICE_INFO0x00
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 06/37] staging:r8188eu: refactor rtl88eu_phy_iq_calibrate function

2016-10-19 Thread Ivan Safonov
is2t local variable always is false.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/hal/phy.c | 57 +
 1 file changed, 1 insertion(+), 56 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c 
b/drivers/staging/rtl8188eu/hal/phy.c
index 8462a91..c344882 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -768,53 +768,6 @@ static void patha_fill_iqk(struct adapter *adapt, bool 
iqkok, s32 result[][8],
}
 }
 
-static void pathb_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8],
-  u8 final_candidate, bool txonly)
-{
-   u32 oldval_1, x, tx1_a, reg;
-   s32 y, tx1_c;
-
-   if (final_candidate == 0xFF) {
-   return;
-   } else if (iqkok) {
-   oldval_1 = (phy_query_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 
bMaskDWord) >> 22) & 0x3FF;
-
-   x = result[final_candidate][4];
-   if ((x & 0x0200) != 0)
-   x = x | 0xFC00;
-   tx1_a = (x * oldval_1) >> 8;
-   phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x3FF, tx1_a);
-
-   phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(27),
-  ((x * oldval_1>>7) & 0x1));
-
-   y = result[final_candidate][5];
-   if ((y & 0x0200) != 0)
-   y = y | 0xFC00;
-
-   tx1_c = (y * oldval_1) >> 8;
-
-   phy_set_bb_reg(adapt, rOFDM0_XDTxAFE, 0xF000,
-  ((tx1_c&0x3C0)>>6));
-   phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x003F,
-  (tx1_c&0x3F));
-   phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(25),
-  ((y * oldval_1>>7) & 0x1));
-
-   if (txonly)
-   return;
-
-   reg = result[final_candidate][6];
-   phy_set_bb_reg(adapt, rOFDM0_XBRxIQImbalance, 0x3FF, reg);
-
-   reg = result[final_candidate][7] & 0x3F;
-   phy_set_bb_reg(adapt, rOFDM0_XBRxIQImbalance, 0xFC00, reg);
-
-   reg = (result[final_candidate][7] >> 6) & 0xF;
-   phy_set_bb_reg(adapt, rOFDM0_AGCRSSITable, 0xF000, reg);
-   }
-}
-
 static void save_adda_registers(struct adapter *adapt, u32 *addareg,
u32 *backup, u32 register_num)
 {
@@ -1232,9 +1185,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool 
recovery)
rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance,
rOFDM0_XCTxAFE, rOFDM0_XDTxAFE,
rOFDM0_RxIQExtAnta};
-   bool is2t;
-
-   is2t = false;
 
if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
return;
@@ -1267,7 +1217,7 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool 
recovery)
is13simular = false;
 
for (i = 0; i < 3; i++) {
-   phy_iq_calibrate(adapt, result, i, is2t);
+   phy_iq_calibrate(adapt, result, i, 0);
 
if (i == 1) {
is12simular = simularity_compare(adapt, result, 0, 1);
@@ -1324,11 +1274,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, 
bool recovery)
if (reg_e94 != 0)
patha_fill_iqk(adapt, pathaok, result, final,
   (reg_ea4 == 0));
-   if (is2t) {
-   if (reg_eb4 != 0)
-   pathb_fill_iqk(adapt, pathbok, result, final,
-  (reg_ec4 == 0));
-   }
 
chn_index = get_right_chnl_for_iqk(adapt->HalData->CurrentChannel);
 
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 27/37] staging:r8188eu: remove recvframe_put function

2016-10-19 Thread Ivan Safonov
skb_put used instead.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c|  2 +-
 drivers/staging/rtl8188eu/include/rtw_recv.h | 17 -
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c |  2 +-
 3 files changed, 2 insertions(+), 19 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 1d29808..3f7812f 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1380,7 +1380,7 @@ static struct recv_frame *recvframe_defrag(struct adapter 
*adapter,
/* memcpy */
memcpy(pfhdr->pkt->tail, pnfhdr->pkt->data, pnfhdr->pkt->len);
 
-   recvframe_put(prframe, pnfhdr->pkt->len);
+   skb_put(prframe->pkt, pnfhdr->pkt->len);
 
pfhdr->attrib.icv_len = pnfhdr->attrib.icv_len;
plist = plist->next;
diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index f0ce2e6..5357a8d 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -253,23 +253,6 @@ u32 rtw_free_uc_swdec_pending_queue(struct adapter 
*adapter);
 
 void rtw_reordering_ctrl_timeout_handler(unsigned long data);
 
-static inline u8 *recvframe_put(struct recv_frame *precvframe, uint sz)
-{
-   /* used for append sz bytes from ptr to rx_tail, update rx_tail
-* and return the updated rx_tail to the caller */
-   /* after putting, rx_tail must be still larger than rx_end. */
-
-   u8 *tail;
-
-   if (precvframe == NULL)
-   return NULL;
-
-   tail = skb_put(precvframe->pkt, sz);
-   if (!tail)
-   return NULL;
-   return tail;
-}
-
 static inline void recvframe_pull_tail(struct recv_frame *precvframe, uint sz)
 {
/*  rmv data from rx_tail (by yitsen) */
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c 
b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 572a89f..2f29968 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -132,7 +132,7 @@ static int recvbuf2recvframe(struct adapter *adapt, struct 
sk_buff *pskb)
goto _exit_recvbuf2recvframe;
}
 
-   recvframe_put(precvframe, skb_len);
+   skb_put(precvframe->pkt, skb_len);
 
switch (haldata->UsbRxAggMode) {
case USB_RX_AGG_DMA:
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 02/37] staging:r8188eu: remove device assignment after netdev_alloc_skb call

2016-10-19 Thread Ivan Safonov
netdev_alloc_skb function
already set dev member of pkt_copy.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c 
b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 34198fe..f19b203 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -123,7 +123,6 @@ static int recvbuf2recvframe(struct adapter *adapt, struct 
sk_buff *pskb)
 
pkt_copy = netdev_alloc_skb(adapt->pnetdev, alloc_sz);
if (pkt_copy) {
-   pkt_copy->dev = adapt->pnetdev;
precvframe->pkt = pkt_copy;
precvframe->rx_head = pkt_copy->data;
precvframe->rx_end = pkt_copy->data + alloc_sz;
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 12/37] staging:r8188eu: remove ieee80211_get_hdrlen function

2016-10-19 Thread Ivan Safonov
This function does not used.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_ieee80211.c | 27 --
 drivers/staging/rtl8188eu/include/ieee80211.h  |  1 -
 2 files changed, 28 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c 
b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c
index 914c492..0c17004 100644
--- a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c
+++ b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c
@@ -969,33 +969,6 @@ int ieee80211_is_empty_essid(const char *essid, int 
essid_len)
return 1;
 }
 
-int ieee80211_get_hdrlen(u16 fc)
-{
-   int hdrlen = 24;
-
-   switch (WLAN_FC_GET_TYPE(fc)) {
-   case RTW_IEEE80211_FTYPE_DATA:
-   if (fc & RTW_IEEE80211_STYPE_QOS_DATA)
-   hdrlen += 2;
-   if ((fc & RTW_IEEE80211_FCTL_FROMDS) && (fc & 
RTW_IEEE80211_FCTL_TODS))
-   hdrlen += 6; /* Addr4 */
-   break;
-   case RTW_IEEE80211_FTYPE_CTL:
-   switch (WLAN_FC_GET_STYPE(fc)) {
-   case RTW_IEEE80211_STYPE_CTS:
-   case RTW_IEEE80211_STYPE_ACK:
-   hdrlen = 10;
-   break;
-   default:
-   hdrlen = 16;
-   break;
-   }
-   break;
-   }
-
-   return hdrlen;
-}
-
 static int rtw_get_cipher_info(struct wlan_network *pnetwork)
 {
u32 wpa_ielen;
diff --git a/drivers/staging/rtl8188eu/include/ieee80211.h 
b/drivers/staging/rtl8188eu/include/ieee80211.h
index 4c2fe53..a4bbd2b 100644
--- a/drivers/staging/rtl8188eu/include/ieee80211.h
+++ b/drivers/staging/rtl8188eu/include/ieee80211.h
@@ -635,7 +635,6 @@ enum ieee80211_state {
 
 /* Baron move to ieee80211.c */
 int ieee80211_is_empty_essid(const char *essid, int essid_len);
-int ieee80211_get_hdrlen(u16 fc);
 
 /* Action category code */
 enum rtw_ieee80211_category {
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 29/37] staging:r8188eu: take out stripping of iv and icv space from wlanhdr_to_ethhdr function

2016-10-19 Thread Ivan Safonov
Prepare to replacing wlanhdr_to_ethhdr by ieee80211_data_to_8023.
This stripping procedure placed into new strip_iv_icv function.
Also strip_iv_icv used inside unprotect_frame.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c| 27 +++
 drivers/staging/rtl8188eu/include/rtw_recv.h |  3 ++-
 drivers/staging/rtl8188eu/os_dep/mon.c   |  4 +---
 3 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index c07a3f5..630d9eb 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1276,12 +1276,8 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
u8 *ptr = precvframe->pkt->data;
struct rx_pkt_attrib *pattrib = &precvframe->attrib;
 
-   if (pattrib->encrypt)
-   skb_trim(precvframe->pkt,
-precvframe->pkt->len - pattrib->icv_len);
-
-   psnap = (struct ieee80211_snap_hdr *)(ptr+pattrib->hdrlen + 
pattrib->iv_len);
-   psnap_type = ptr+pattrib->hdrlen + pattrib->iv_len+SNAP_SIZE;
+   psnap = (struct ieee80211_snap_hdr *)(ptr+pattrib->hdrlen);
+   psnap_type = ptr+pattrib->hdrlen + SNAP_SIZE;
/* convert hdr + possible LLC headers into Ethernet header */
if ((!memcmp(psnap, rtw_rfc1042_header, SNAP_SIZE) &&
 (!memcmp(psnap_type, SNAP_ETH_TYPE_IPX, 2) == false) &&
@@ -1294,11 +1290,11 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
bsnaphdr = false;
}
 
-   rmv_len = pattrib->hdrlen + pattrib->iv_len + (bsnaphdr ? SNAP_SIZE : 
0);
+   rmv_len = pattrib->hdrlen + (bsnaphdr ? SNAP_SIZE : 0);
len = precvframe->pkt->len - rmv_len;
 
RT_TRACE(_module_rtl871x_recv_c_, _drv_info_,
-("\n===pattrib->hdrlen: %x,  pattrib->iv_len:%x===\n\n", 
pattrib->hdrlen,  pattrib->iv_len));
+("\n===pattrib->hdrlen: %x===\n\n", pattrib->hdrlen));
 
memcpy(&be_tmp, ptr+rmv_len, 2);
eth_type = ntohs(be_tmp); /* pattrib->ether_type */
@@ -1733,6 +1729,13 @@ static int recv_indicatepkts_in_order(struct adapter 
*padapter, struct recv_reor
return bPktInBuf;
 }
 
+void strip_iv_icv(struct sk_buff *skb, uint header_len,
+ uint iv_len, uint icv_len) {
+   memmove(skb->data + iv_len, skb->data, header_len);
+   skb_pull(skb, iv_len);
+   skb_trim(skb, skb->len - icv_len);
+}
+
 static int recv_indicatepkt_reorder(struct adapter *padapter,
struct recv_frame *prframe)
 {
@@ -1743,6 +1746,10 @@ static int recv_indicatepkt_reorder(struct adapter 
*padapter,
 
if (!pattrib->amsdu) {
/* s1. */
+   strip_iv_icv(prframe->pkt, prframe->attrib.hdrlen,
+prframe->attrib.iv_len,
+prframe->attrib.encrypt ? prframe->attrib.icv_len 
: 0);
+
wlanhdr_to_ethhdr(prframe);
 
if ((pattrib->qos != 1) || (pattrib->eth_type == 0x0806) ||
@@ -1861,6 +1868,10 @@ static int process_recv_indicatepkts(struct adapter 
*padapter,
}
}
} else { /* B/G mode */
+   strip_iv_icv(prframe->pkt, prframe->attrib.hdrlen,
+prframe->attrib.iv_len,
+prframe->attrib.encrypt ? prframe->attrib.icv_len 
: 0);
+
retval = wlanhdr_to_ethhdr(prframe);
if (retval != _SUCCESS) {
RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, 
("wlanhdr_to_ethhdr: drop pkt\n"));
diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index cacf35c..748c014e 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -270,5 +270,6 @@ struct sta_info;
 void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv);
 
 void  mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame);
-
+void strip_iv_icv(struct sk_buff *skb, uint header_len,
+ uint iv_len, uint icv_len);
 #endif
diff --git a/drivers/staging/rtl8188eu/os_dep/mon.c 
b/drivers/staging/rtl8188eu/os_dep/mon.c
index 9b3f3ec..b1fd49d 100644
--- a/drivers/staging/rtl8188eu/os_dep/mon.c
+++ b/drivers/staging/rtl8188eu/os_dep/mon.c
@@ -40,9 +40,7 @@ static void unprotect_frame(struct sk_buff *skb, int iv_len, 
int icv_len)
 
hdr->frame_control &= ~cpu_to_le16(IEEE80211_FCTL_PROTECTED);
 
-   memmove(skb->data + iv_len, skb->data, hdr_len);
-   skb_pull(skb, iv_len);
-   skb_trim(skb, skb->len - icv_len);
+   strip_iv_icv(skb, hdr_len, iv_len, icv_len);
 }
 
 static void mon_recv_decrypted(struct net_device *dev, const u8 *data,
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.or

[PATCH 19/37] staging:r8188eu: remove rx_end member of recv_frame structure

2016-10-19 Thread Ivan Safonov
rx_end replaced with pkt->end.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 3 +--
 drivers/staging/rtl8188eu/os_dep/recv_linux.c| 4 ++--
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 1 -
 3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index e6cc3af..ee0d9a56 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -234,7 +234,6 @@ struct recv_frame {
struct rx_pkt_attrib attrib;
uint  len;
u8 *rx_tail;
-   u8 *rx_end;
struct sta_info *psta;
/* for A-MPDU Rx reordering buffer control */
struct recv_reorder_ctrl *preorder_ctrl;
@@ -285,7 +284,7 @@ static inline u8 *recvframe_put(struct recv_frame 
*precvframe, int sz)
 
precvframe->rx_tail += sz;
 
-   if (precvframe->rx_tail > precvframe->rx_end) {
+   if (precvframe->rx_tail > precvframe->pkt->end) {
precvframe->rx_tail -= sz;
return NULL;
}
diff --git a/drivers/staging/rtl8188eu/os_dep/recv_linux.c 
b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
index 3c41c5e..e405ea9 100644
--- a/drivers/staging/rtl8188eu/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
@@ -94,8 +94,8 @@ int rtw_recv_indicatepkt(struct adapter *padapter,
 ("rtw_recv_indicatepkt(): precv_frame->pkt->rx_data =%p\n",
  precv_frame->pkt->data));
RT_TRACE(_module_recv_osdep_c_, _drv_info_,
-("precv_frame->hdr.rx_tail =%p precv_frame->rx_end =%p 
precv_frame->hdr.len =%d\n",
-precv_frame->rx_tail, precv_frame->rx_end,
+("precv_frame->hdr.rx_tail =%p precv_frame->pkt->end =%p 
precv_frame->hdr.len =%d\n",
+precv_frame->rx_tail, precv_frame->pkt->end,
 precv_frame->len));
 
skb_set_tail_pointer(skb, precv_frame->len);
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c 
b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 8ed42e3..45682ac 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -124,7 +124,6 @@ static int recvbuf2recvframe(struct adapter *adapt, struct 
sk_buff *pskb)
pkt_copy = netdev_alloc_skb(adapt->pnetdev, alloc_sz);
if (pkt_copy) {
precvframe->pkt = pkt_copy;
-   precvframe->rx_end = pkt_copy->data + alloc_sz;
skb_reserve(pkt_copy, 8 - ((size_t)(pkt_copy->data) & 
7));/* force pkt_copy->data at 8-byte alignment address */
skb_reserve(pkt_copy, shift_sz);/* force ip_hdr at 
8-byte alignment address according to shift_sz. */
memcpy(pkt_copy->data, (pbuf + pattrib->drvinfo_sz + 
RXDESC_SIZE), skb_len);
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 09/37] staging:r8188eu: remove is2t argument of phy_lc_calibrate function

2016-10-19 Thread Ivan Safonov
is2t is constant.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/hal/phy.c | 21 +++--
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c 
b/drivers/staging/rtl8188eu/hal/phy.c
index 6b70d09..93dbb395 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -1014,10 +1014,10 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 
result[][8], u8 t)
}
 }
 
-static void phy_lc_calibrate(struct adapter *adapt, bool is2t)
+static void phy_lc_calibrate(struct adapter *adapt)
 {
u8 tmpreg;
-   u32 rf_a_mode = 0, rf_b_mode = 0, lc_cal;
+   u32 rf_a_mode = 0, lc_cal;
 
/* Check continuous TX and Packet TX */
tmpreg = usb_read8(adapt, 0xd03);
@@ -1033,20 +1033,10 @@ static void phy_lc_calibrate(struct adapter *adapt, 
bool is2t)
rf_a_mode = rtw_hal_read_rfreg(adapt, RF_PATH_A, RF_AC,
 bMask12Bits);
 
-   /* Path-B */
-   if (is2t)
-   rf_b_mode = rtw_hal_read_rfreg(adapt, RF_PATH_B, RF_AC,
-bMask12Bits);
-
/* 2. Set RF mode = standby mode */
/* Path-A */
phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits,
   (rf_a_mode&0x8)|0x1);
-
-   /* Path-B */
-   if (is2t)
-   phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits,
-  (rf_b_mode&0x8)|0x1);
}
 
/* 3. Read RF reg18 */
@@ -1064,11 +1054,6 @@ static void phy_lc_calibrate(struct adapter *adapt, bool 
is2t)
/* Path-A */
usb_write8(adapt, 0xd03, tmpreg);
phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits, rf_a_mode);
-
-   /* Path-B */
-   if (is2t)
-   phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits,
-  rf_b_mode);
} else {
/* Deal with Packet TX case */
usb_write8(adapt, REG_TXPAUSE, 0x00);
@@ -1210,7 +1195,7 @@ void rtl88eu_phy_lc_calibrate(struct adapter *adapt)
 
dm_odm->RFCalibrateInfo.bLCKInProgress = true;
 
-   phy_lc_calibrate(adapt, false);
+   phy_lc_calibrate(adapt);
 
dm_odm->RFCalibrateInfo.bLCKInProgress = false;
 }
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 08/37] staging:r8188eu: refactor path_adda_on function

2016-10-19 Thread Ivan Safonov
Remove is_path_a_on and is2t arguments.
These argument always are constant.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/hal/phy.c | 14 --
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c 
b/drivers/staging/rtl8188eu/hal/phy.c
index 6c6becf..6b70d09 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -774,19 +774,13 @@ static void reload_mac_registers(struct adapter *adapt,
usb_write32(adapt, mac_reg[i], backup[i]);
 }
 
-static void path_adda_on(struct adapter *adapt, u32 *adda_reg,
-bool is_path_a_on, bool is2t)
+static void path_adda_on(struct adapter *adapt, u32 *adda_reg)
 {
u32 path_on;
u32 i;
 
-   if (!is2t) {
-   path_on = 0x0bdb25a0;
-   phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, 0x0b1b25a0);
-   } else {
-   path_on = is_path_a_on ? 0x04db25a4 : 0x0b1b25a4;
-   phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, path_on);
-   }
+   path_on = 0x0bdb25a0;
+   phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, 0x0b1b25a0);
 
for (i = 1; i < IQK_ADDA_REG_NUM; i++)
phy_set_bb_reg(adapt, adda_reg[i], bMaskDWord, path_on);
@@ -924,7 +918,7 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 
result[][8], u8 t)
dm_odm->RFCalibrateInfo.IQK_BB_backup, 
IQK_BB_REG_NUM);
}
 
-   path_adda_on(adapt, adda_reg, true, 0);
+   path_adda_on(adapt, adda_reg);
if (t == 0)
dm_odm->RFCalibrateInfo.bRfPiEnable = 
(u8)phy_query_bb_reg(adapt, rFPGA0_XA_HSSIParameter1,
   
BIT(8));
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 34/37] staging:r8188eu: remove update_bcn member of mlme_priv structure

2016-10-19 Thread Ivan Safonov
Value of this member does not used.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_ap.c   | 7 ---
 drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 1 -
 drivers/staging/rtl8188eu/include/rtw_mlme.h  | 1 -
 3 files changed, 9 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_ap.c 
b/drivers/staging/rtl8188eu/core/rtw_ap.c
index fe1ba9e..90b88f3 100644
--- a/drivers/staging/rtl8188eu/core/rtw_ap.c
+++ b/drivers/staging/rtl8188eu/core/rtw_ap.c
@@ -43,11 +43,9 @@ void free_mlme_ap_info(struct adapter *padapter)
 {
struct sta_info *psta = NULL;
struct sta_priv *pstapriv = &padapter->stapriv;
-   struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
 
-   pmlmepriv->update_bcn = false;
pmlmeext->bstart_bss = false;
 
rtw_sta_flush(padapter);
@@ -1360,8 +1358,6 @@ void update_beacon(struct adapter *padapter, u8 ie_id, u8 
*oui, u8 tx)
break;
}
 
-   pmlmepriv->update_bcn = true;
-
spin_unlock_bh(&pmlmepriv->bcn_update_lock);
 
if (tx)
@@ -1800,8 +1796,6 @@ void start_ap_mode(struct adapter *padapter)
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
 
-   pmlmepriv->update_bcn = false;
-
pmlmeext->bstart_bss = false;
 
pmlmepriv->num_sta_non_erp = 0;
@@ -1848,7 +1842,6 @@ void stop_ap_mode(struct adapter *padapter)
struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
struct __queue *pacl_node_q = &pacl_list->acl_node_q;
 
-   pmlmepriv->update_bcn = false;
pmlmeext->bstart_bss = false;
 
/* reset and init security priv , this can refine with 
rtw_reset_securitypriv */
diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c 
b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
index 08bb61d..243e9df 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
@@ -439,7 +439,6 @@ static void issue_beacon(struct adapter *padapter, int 
timeout_ms)
 _issue_bcn:
 
 #if defined(CONFIG_88EU_AP_MODE)
-   pmlmepriv->update_bcn = false;
 
spin_unlock_bh(&pmlmepriv->bcn_update_lock);
 #endif /* if defined (CONFIG_88EU_AP_MODE) */
diff --git a/drivers/staging/rtl8188eu/include/rtw_mlme.h 
b/drivers/staging/rtl8188eu/include/rtw_mlme.h
index e1e46ce..47a3f2d 100644
--- a/drivers/staging/rtl8188eu/include/rtw_mlme.h
+++ b/drivers/staging/rtl8188eu/include/rtw_mlme.h
@@ -375,7 +375,6 @@ struct mlme_priv {
u32 wps_assoc_resp_ie_len;
 
spinlock_t bcn_update_lock;
-   u8  update_bcn;
 #endif /* if defined (CONFIG_88EU_AP_MODE) */
 };
 
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 07/37] staging:r8188eu: remove is2t argument if the phy_iq_calibrate function

2016-10-19 Thread Ivan Safonov
is2t argument of this function is constant.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/hal/phy.c | 101 +++-
 1 file changed, 6 insertions(+), 95 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c 
b/drivers/staging/rtl8188eu/hal/phy.c
index c344882..6c6becf 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -687,41 +687,6 @@ static u8 phy_path_a_rx_iqk(struct adapter *adapt, bool 
configPathB)
return result;
 }
 
-static u8 phy_path_b_iqk(struct adapter *adapt)
-{
-   u32 regeac, regeb4, regebc, regec4, regecc;
-   u8 result = 0x00;
-   struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
-
-   /* One shot, path B LOK & IQK */
-   phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x0002);
-   phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x);
-
-   mdelay(IQK_DELAY_TIME_88E);
-
-   regeac = phy_query_bb_reg(adapt, rRx_Power_After_IQK_A_2, bMaskDWord);
-   regeb4 = phy_query_bb_reg(adapt, rTx_Power_Before_IQK_B, bMaskDWord);
-   regebc = phy_query_bb_reg(adapt, rTx_Power_After_IQK_B, bMaskDWord);
-   regec4 = phy_query_bb_reg(adapt, rRx_Power_Before_IQK_B_2, bMaskDWord);
-   regecc = phy_query_bb_reg(adapt, rRx_Power_After_IQK_B_2, bMaskDWord);
-
-   if (!(regeac & BIT(31)) &&
-   (((regeb4 & 0x03FF)>>16) != 0x142) &&
-   (((regebc & 0x03FF)>>16) != 0x42))
-   result |= 0x01;
-   else
-   return result;
-
-   if (!(regeac & BIT(30)) &&
-   (((regec4 & 0x03FF)>>16) != 0x132) &&
-   (((regecc & 0x03FF)>>16) != 0x36))
-   result |= 0x02;
-   else
-   ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION,
-ODM_DBG_LOUD,  ("Path B Rx IQK fail!!\n"));
-   return result;
-}
-
 static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8],
   u8 final_candidate, bool txonly)
 {
@@ -839,14 +804,6 @@ static void mac_setting_calibration(struct adapter *adapt, 
u32 *mac_reg, u32 *ba
usb_write8(adapt, mac_reg[i], (u8)(backup[i]&(~BIT(5;
 }
 
-static void path_a_standby(struct adapter *adapt)
-{
-
-   phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x0);
-   phy_set_bb_reg(adapt, 0x840, bMaskDWord, 0x0001);
-   phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x8080);
-}
-
 static void pi_mode_switch(struct adapter *adapt, bool pi_mode)
 {
u32 mode;
@@ -930,12 +887,11 @@ static bool simularity_compare(struct adapter *adapt, s32 
resulta[][8],
}
 }
 
-static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
-u8 t, bool is2t)
+static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8], u8 t)
 {
struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
u32 i, retry_count = 2;
-   u8 path_a_ok, path_b_ok;
+   u8 path_a_ok;
u32 adda_reg[IQK_ADDA_REG_NUM] = {
  rFPGA0_XCD_SwitchControl, rBlue_Tooth,
  rRx_Wait_CCA, rTx_CCK_RFON,
@@ -968,7 +924,7 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 
result[][8],
dm_odm->RFCalibrateInfo.IQK_BB_backup, 
IQK_BB_REG_NUM);
}
 
-   path_adda_on(adapt, adda_reg, true, is2t);
+   path_adda_on(adapt, adda_reg, true, 0);
if (t == 0)
dm_odm->RFCalibrateInfo.bRfPiEnable = 
(u8)phy_query_bb_reg(adapt, rFPGA0_XA_HSSIParameter1,
   
BIT(8));
@@ -989,13 +945,6 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 
result[][8],
phy_set_bb_reg(adapt, rFPGA0_XA_RFInterfaceOE, BIT(10), 0x00);
phy_set_bb_reg(adapt, rFPGA0_XB_RFInterfaceOE, BIT(10), 0x00);
 
-   if (is2t) {
-   phy_set_bb_reg(adapt, rFPGA0_XA_LSSIParameter, bMaskDWord,
-  0x0001);
-   phy_set_bb_reg(adapt, rFPGA0_XB_LSSIParameter, bMaskDWord,
-  0x0001);
-   }
-
/* MAC settings */
mac_setting_calibration(adapt, iqk_mac_reg,
dm_odm->RFCalibrateInfo.IQK_MAC_backup);
@@ -1004,16 +953,13 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 
result[][8],
/* AP or IQK */
phy_set_bb_reg(adapt, rConfig_AntA, bMaskDWord, 0x0f60);
 
-   if (is2t)
-   phy_set_bb_reg(adapt, rConfig_AntB, bMaskDWord, 0x0f60);
-
/*  IQ calibration setting */
phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x8080);
phy_set_bb_reg(adapt, rTx_IQK, bMaskDWord, 0x01007c00);
phy_set_bb_reg(adapt, rRx_IQK, bMaskDWord, 0x81004800);
 
for (i = 0; i < retry_count; i++) {
-   path_a_ok = phy_path_a_iqk(adapt, is2t);
+  

[PATCH 15/37] staging:r8188eu: remove rx_head member of recv_frame structure

2016-10-19 Thread Ivan Safonov
Value of rx_head used only to produce debug output.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 1 -
 drivers/staging/rtl8188eu/os_dep/recv_linux.c| 4 ++--
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 1 -
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 4280fa1..6a34e15 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -233,7 +233,6 @@ struct recv_frame {
struct adapter  *adapter;
struct rx_pkt_attrib attrib;
uint  len;
-   u8 *rx_head;
u8 *rx_data;
u8 *rx_tail;
u8 *rx_end;
diff --git a/drivers/staging/rtl8188eu/os_dep/recv_linux.c 
b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
index b85824e..f6af89e 100644
--- a/drivers/staging/rtl8188eu/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
@@ -91,8 +91,8 @@ int rtw_recv_indicatepkt(struct adapter *padapter,
RT_TRACE(_module_recv_osdep_c_, _drv_info_,
 ("rtw_recv_indicatepkt():skb != NULL !!!\n"));
RT_TRACE(_module_recv_osdep_c_, _drv_info_,
-("rtw_recv_indicatepkt():precv_frame->rx_head =%p  
precv_frame->hdr.rx_data =%p\n",
-precv_frame->rx_head, precv_frame->rx_data));
+("rtw_recv_indicatepkt(): precv_frame->hdr.rx_data =%p\n",
+ precv_frame->rx_data));
RT_TRACE(_module_recv_osdep_c_, _drv_info_,
 ("precv_frame->hdr.rx_tail =%p precv_frame->rx_end =%p 
precv_frame->hdr.len =%d\n",
 precv_frame->rx_tail, precv_frame->rx_end,
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c 
b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 315b077..62dec1e 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -124,7 +124,6 @@ static int recvbuf2recvframe(struct adapter *adapt, struct 
sk_buff *pskb)
pkt_copy = netdev_alloc_skb(adapt->pnetdev, alloc_sz);
if (pkt_copy) {
precvframe->pkt = pkt_copy;
-   precvframe->rx_head = pkt_copy->data;
precvframe->rx_end = pkt_copy->data + alloc_sz;
skb_reserve(pkt_copy, 8 - ((size_t)(pkt_copy->data) & 
7));/* force pkt_copy->data at 8-byte alignment address */
skb_reserve(pkt_copy, shift_sz);/* force ip_hdr at 
8-byte alignment address according to shift_sz. */
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 28/37] staging:r8188eu: remove recvframe_pull_tail function

2016-10-19 Thread Ivan Safonov
skb_trim used instead.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c|  8 +---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 16 
 2 files changed, 5 insertions(+), 19 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 3f7812f..c07a3f5 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -349,7 +349,7 @@ static int recvframe_chkmic(struct adapter *adapter,
RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, 
("recvframe_chkmic: rtw_get_stainfo==NULL!!!\n"));
}
 
-   recvframe_pull_tail(precvframe, 8);
+   skb_trim(precvframe->pkt, precvframe->pkt->len - 8);
}
 
 exit:
@@ -1277,7 +1277,8 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
struct rx_pkt_attrib *pattrib = &precvframe->attrib;
 
if (pattrib->encrypt)
-   recvframe_pull_tail(precvframe, pattrib->icv_len);
+   skb_trim(precvframe->pkt,
+precvframe->pkt->len - pattrib->icv_len);
 
psnap = (struct ieee80211_snap_hdr *)(ptr+pattrib->hdrlen + 
pattrib->iv_len);
psnap_type = ptr+pattrib->hdrlen + pattrib->iv_len+SNAP_SIZE;
@@ -1375,7 +1376,8 @@ static struct recv_frame *recvframe_defrag(struct adapter 
*adapter,
skb_pull(pnextrframe->pkt, wlanhdr_offset);
 
/* append  to first fragment frame's tail (if privacy frame, 
pull the ICV) */
-   recvframe_pull_tail(prframe, pfhdr->attrib.icv_len);
+   skb_trim(prframe->pkt,
+prframe->pkt->len - pfhdr->attrib.icv_len);
 
/* memcpy */
memcpy(pfhdr->pkt->tail, pnfhdr->pkt->data, pnfhdr->pkt->len);
diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 5357a8d..cacf35c 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -253,22 +253,6 @@ u32 rtw_free_uc_swdec_pending_queue(struct adapter 
*adapter);
 
 void rtw_reordering_ctrl_timeout_handler(unsigned long data);
 
-static inline void recvframe_pull_tail(struct recv_frame *precvframe, uint sz)
-{
-   /*  rmv data from rx_tail (by yitsen) */
-
-   /* used for extract sz bytes from rx_end, update rx_end and return
-* the updated rx_end to the caller */
-   /* after pulling, rx_end must be still larger than rx_data. */
-
-   if (precvframe == NULL)
-   return;
-
-   if (precvframe->pkt->len < sz)
-   return;
-   skb_trim(precvframe->pkt, precvframe->pkt->len - sz);
-}
-
 static inline s32 translate_percentage_to_dbm(u32 sig_stren_index)
 {
s32 power; /*  in dBm. */
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 35/37] staging:r8188eu: remove clr_fwstate* functions

2016-10-19 Thread Ivan Safonov
These functions are unused.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_mlme.h | 19 ---
 1 file changed, 19 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_mlme.h 
b/drivers/staging/rtl8188eu/include/rtw_mlme.h
index 47a3f2d..d27b2ad 100644
--- a/drivers/staging/rtl8188eu/include/rtw_mlme.h
+++ b/drivers/staging/rtl8188eu/include/rtw_mlme.h
@@ -456,25 +456,6 @@ static inline void _clr_fwstate_(struct mlme_priv 
*pmlmepriv, int state)
pmlmepriv->bScanInProcess = false;
 }
 
-/*
- * No Limit on the calling context,
- * therefore set it to be the critical section...
- */
-static inline void clr_fwstate(struct mlme_priv *pmlmepriv, int state)
-{
-   spin_lock_bh(&pmlmepriv->lock);
-   if (check_fwstate(pmlmepriv, state) == true)
-   pmlmepriv->fw_state ^= state;
-   spin_unlock_bh(&pmlmepriv->lock);
-}
-
-static inline void clr_fwstate_ex(struct mlme_priv *pmlmepriv, int state)
-{
-   spin_lock_bh(&pmlmepriv->lock);
-   _clr_fwstate_(pmlmepriv, state);
-   spin_unlock_bh(&pmlmepriv->lock);
-}
-
 u16 rtw_get_capability(struct wlan_bssid_ex *bss);
 void rtw_update_scanned_network(struct adapter *adapter,
struct wlan_bssid_ex *target);
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 20/37] staging:r8188eu: change recvframe_put last argument type

2016-10-19 Thread Ivan Safonov
uint instead of int used.
This function always called with positive sz argument.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index ee0d9a56..9a7aa9e 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -273,7 +273,7 @@ static inline u8 *recvframe_pull(struct recv_frame 
*precvframe, uint sz)
return data;
 }
 
-static inline u8 *recvframe_put(struct recv_frame *precvframe, int sz)
+static inline u8 *recvframe_put(struct recv_frame *precvframe, uint sz)
 {
/* used for append sz bytes from ptr to rx_tail, update rx_tail
 * and return the updated rx_tail to the caller */
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 18/37] staging:r8188eu: remove rx_data member of recv_frame structure

2016-10-19 Thread Ivan Safonov
rx_data replaced with pkt->data.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_mlme_ext.c| 38 -
 drivers/staging/rtl8188eu/core/rtw_recv.c| 54 
 drivers/staging/rtl8188eu/core/rtw_security.c|  6 +--
 drivers/staging/rtl8188eu/hal/rtl8188e_rxdesc.c  |  2 +-
 drivers/staging/rtl8188eu/include/rtw_recv.h | 14 +++---
 drivers/staging/rtl8188eu/os_dep/mon.c   |  2 +-
 drivers/staging/rtl8188eu/os_dep/recv_linux.c|  6 +--
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c |  7 ++-
 8 files changed, 62 insertions(+), 67 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c 
b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
index 0bb24fa..26639f0 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
@@ -2050,7 +2050,7 @@ static u8 collect_bss_info(struct adapter *padapter,
u32 len;
u8 *p;
u16 val16, subtype;
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
u32 packet_len = precv_frame->len;
u8 ie_offset;
struct registry_priv*pregistrypriv = &padapter->registrypriv;
@@ -2557,7 +2557,7 @@ static unsigned int OnProbeReq(struct adapter *padapter,
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
struct wlan_bssid_ex *cur = &(pmlmeinfo->network);
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
uint len = precv_frame->len;
 
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE))
@@ -2605,7 +2605,7 @@ static unsigned int OnBeacon(struct adapter *padapter,
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct sta_priv *pstapriv = &padapter->stapriv;
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
uint len = precv_frame->len;
struct wlan_bssid_ex *pbss;
int ret = _SUCCESS;
@@ -2702,7 +2702,7 @@ static unsigned int OnAuth(struct adapter *padapter,
struct security_priv *psecuritypriv = &padapter->securitypriv;
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
uint len = precv_frame->len;
 
if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
@@ -2865,7 +2865,7 @@ static unsigned int OnAuthClient(struct adapter *padapter,
unsigned intgo2asoc = 0;
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
uint pkt_len = precv_frame->len;
 
DBG_88E("%s\n", __func__);
@@ -2953,7 +2953,7 @@ static unsigned int OnAssocReq(struct adapter *padapter,
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
struct wlan_bssid_ex *cur = &(pmlmeinfo->network);
struct sta_priv *pstapriv = &padapter->stapriv;
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
uint pkt_len = precv_frame->len;
 
if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
@@ -3385,7 +3385,7 @@ static unsigned int OnAssocRsp(struct adapter *padapter,
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
/* struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network); */
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
uint pkt_len = precv_frame->len;
 
DBG_88E("%s\n", __func__);
@@ -3471,7 +3471,7 @@ static unsigned int OnDeAuth(struct adapter *padapter,
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
struct wlan_bssid_ex *pnetwork = &(pmlmeinfo->network);
 
/* check A3 */
@@ -3526,7 +3526,7 @@ static unsigned int OnDisassoc(struct adapter *padapter,
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
-   u8 *pframe = precv_frame->rx_data;
+   u8 *pframe = precv_frame->pkt->data;
struct wlan_bssid_ex *pnetwork = &(pmlmeinfo->network);
 
/* check A3 */
@@ -3585,7 +3585,7 @@ static unsigned int on_action_spct(struct adapter 
*padapter,
 {
struct sta_info *psta = NULL;
struct 

[PATCH 17/37] staging:r8188eu: update pkt->data synchronously with rx_data

2016-10-19 Thread Ivan Safonov
To replace rx_data with pkt->data.
Now pkt->data is equal to rx_data.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index e661635..143e637 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -266,6 +266,7 @@ static inline u8 *recvframe_pull(struct recv_frame 
*precvframe, uint sz)
 
if (precvframe == NULL)
return NULL;
+   skb_pull(precvframe->pkt, sz);
precvframe->rx_data += sz;
if (precvframe->rx_data > precvframe->rx_tail) {
precvframe->rx_data -= sz;
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 25/37] staging:r8188eu: remove len member of recv_frame structure

2016-10-19 Thread Ivan Safonov
len replaced with pkt->len.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_mlme_ext.c| 14 +++---
 drivers/staging/rtl8188eu/core/rtw_recv.c| 23 +--
 drivers/staging/rtl8188eu/core/rtw_security.c|  6 +++---
 drivers/staging/rtl8188eu/include/rtw_recv.h |  6 +-
 drivers/staging/rtl8188eu/os_dep/mon.c   |  2 +-
 drivers/staging/rtl8188eu/os_dep/recv_linux.c|  9 ++---
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c |  1 -
 7 files changed, 23 insertions(+), 38 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c 
b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
index 26639f0..08bb61d 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
@@ -2051,7 +2051,7 @@ static u8 collect_bss_info(struct adapter *padapter,
u8 *p;
u16 val16, subtype;
u8 *pframe = precv_frame->pkt->data;
-   u32 packet_len = precv_frame->len;
+   u32 packet_len = precv_frame->pkt->len;
u8 ie_offset;
struct registry_priv*pregistrypriv = &padapter->registrypriv;
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
@@ -2558,7 +2558,7 @@ static unsigned int OnProbeReq(struct adapter *padapter,
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
struct wlan_bssid_ex *cur = &(pmlmeinfo->network);
u8 *pframe = precv_frame->pkt->data;
-   uint len = precv_frame->len;
+   uint len = precv_frame->pkt->len;
 
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE))
return _SUCCESS;
@@ -2606,7 +2606,7 @@ static unsigned int OnBeacon(struct adapter *padapter,
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct sta_priv *pstapriv = &padapter->stapriv;
u8 *pframe = precv_frame->pkt->data;
-   uint len = precv_frame->len;
+   uint len = precv_frame->pkt->len;
struct wlan_bssid_ex *pbss;
int ret = _SUCCESS;
struct wlan_bssid_ex *pnetwork = &(pmlmeinfo->network);
@@ -2703,7 +2703,7 @@ static unsigned int OnAuth(struct adapter *padapter,
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
u8 *pframe = precv_frame->pkt->data;
-   uint len = precv_frame->len;
+   uint len = precv_frame->pkt->len;
 
if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
return _FAIL;
@@ -2866,7 +2866,7 @@ static unsigned int OnAuthClient(struct adapter *padapter,
struct mlme_ext_priv*pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
u8 *pframe = precv_frame->pkt->data;
-   uint pkt_len = precv_frame->len;
+   uint pkt_len = precv_frame->pkt->len;
 
DBG_88E("%s\n", __func__);
 
@@ -2954,7 +2954,7 @@ static unsigned int OnAssocReq(struct adapter *padapter,
struct wlan_bssid_ex *cur = &(pmlmeinfo->network);
struct sta_priv *pstapriv = &padapter->stapriv;
u8 *pframe = precv_frame->pkt->data;
-   uint pkt_len = precv_frame->len;
+   uint pkt_len = precv_frame->pkt->len;
 
if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
return _FAIL;
@@ -3386,7 +3386,7 @@ static unsigned int OnAssocRsp(struct adapter *padapter,
struct mlme_ext_info*pmlmeinfo = &(pmlmeext->mlmext_info);
/* struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network); */
u8 *pframe = precv_frame->pkt->data;
-   uint pkt_len = precv_frame->len;
+   uint pkt_len = precv_frame->pkt->len;
 
DBG_88E("%s\n", __func__);
 
diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 0a520a2..5e47e25 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -80,7 +80,6 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct 
adapter *padapter)
 &(precvpriv->free_recv_queue.queue));
 
precvframe->pkt = NULL;
-   precvframe->len = 0;
 
precvframe->adapter = padapter;
precvframe++;
@@ -149,8 +148,6 @@ int rtw_free_recvframe(struct recv_frame *precvframe,
 
list_del_init(&(precvframe->list));
 
-   precvframe->len = 0;
-
list_add_tail(&(precvframe->list), get_list_head(pfree_recv_queue));
 
spin_unlock_bh(&pfree_recv_queue->lock);
@@ -261,7 +258,7 @@ static int recvframe_chkmic(struct adapter *adapter,
}
 
/* icv_len included the mic code */
-   datalen = precvframe->len-prxattrib->hdrlen -
+   datalen = precvframe->pkt->len-prxattrib->hdrlen -
  prxattrib->iv_len-prxattrib->icv_len-8;
pframe = precvframe->pk

[PATCH 04/37] staging:r8188eu: remove WIFI_MP_* definitions and all corresponding code

2016-10-19 Thread Ivan Safonov
fw_state member of mlme_priv
never obtain WIFI_MP_STATE value.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_cmd.c   |  4 ---
 drivers/staging/rtl8188eu/core/rtw_ioctl_set.c |  5 ---
 drivers/staging/rtl8188eu/core/rtw_recv.c  | 42 +-
 drivers/staging/rtl8188eu/core/rtw_xmit.c  |  2 +-
 drivers/staging/rtl8188eu/include/rtw_mlme.h   |  8 -
 drivers/staging/rtl8188eu/os_dep/ioctl_linux.c |  8 +
 6 files changed, 3 insertions(+), 66 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_cmd.c 
b/drivers/staging/rtl8188eu/core/rtw_cmd.c
index 36109ce..cfa5648 100644
--- a/drivers/staging/rtl8188eu/core/rtw_cmd.c
+++ b/drivers/staging/rtl8188eu/core/rtw_cmd.c
@@ -1320,10 +1320,6 @@ void rtw_setassocsta_cmdrsp_callback(struct adapter 
*padapter,  struct cmd_obj *
psta->mac_id = passocsta_rsp->cam_id;
 
spin_lock_bh(&pmlmepriv->lock);
-
-   if ((check_fwstate(pmlmepriv, WIFI_MP_STATE) == true) && 
(check_fwstate(pmlmepriv, _FW_UNDER_LINKING) == true))
-   _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
-
set_fwstate(pmlmepriv, _FW_LINKED);
spin_unlock_bh(&pmlmepriv->lock);
 
diff --git a/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c 
b/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c
index 6ed23f4..67508a6 100644
--- a/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8188eu/core/rtw_ioctl_set.c
@@ -573,11 +573,6 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
u8  bw_40MHz = 0, short_GI_20 = 0, short_GI_40 = 0;
u32 ht_ielen = 0;
 
-   if (adapter->registrypriv.mp_mode == 1) {
-   if (check_fwstate(pmlmepriv, WIFI_MP_STATE))
-   return 0;
-   }
-
if ((!check_fwstate(pmlmepriv, _FW_LINKED)) &&
(!check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)))
return 0;
diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 691623c..dd71894 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -647,7 +647,6 @@ int sta2sta_data_frame(
 int sta2sta_data_frame(struct adapter *adapter, struct recv_frame *precv_frame,
   struct sta_info **psta)
 {
-   u8 *ptr = precv_frame->rx_data;
int ret = _SUCCESS;
struct rx_pkt_attrib *pattrib = &precv_frame->attrib;
struct  sta_priv *pstapriv = &adapter->stapriv;
@@ -703,14 +702,6 @@ int sta2sta_data_frame(struct adapter *adapter, struct 
recv_frame *precv_frame,
 
sta_addr = pattrib->src;
}
-   } else if (check_fwstate(pmlmepriv, WIFI_MP_STATE)) {
-   memcpy(pattrib->dst, GetAddr1Ptr(ptr), ETH_ALEN);
-   memcpy(pattrib->src, GetAddr2Ptr(ptr), ETH_ALEN);
-   memcpy(pattrib->bssid, GetAddr3Ptr(ptr), ETH_ALEN);
-   memcpy(pattrib->ra, pattrib->dst, ETH_ALEN);
-   memcpy(pattrib->ta, pattrib->src, ETH_ALEN);
-
-   sta_addr = mybssid;
} else {
ret  = _FAIL;
}
@@ -799,23 +790,6 @@ static int ap2sta_data_frame(
ret = RTW_RX_HANDLED;
goto exit;
}
-   } else if ((check_fwstate(pmlmepriv, WIFI_MP_STATE) == true) &&
-  (check_fwstate(pmlmepriv, _FW_LINKED) == true)) {
-   memcpy(pattrib->dst, GetAddr1Ptr(ptr), ETH_ALEN);
-   memcpy(pattrib->src, GetAddr2Ptr(ptr), ETH_ALEN);
-   memcpy(pattrib->bssid, GetAddr3Ptr(ptr), ETH_ALEN);
-   memcpy(pattrib->ra, pattrib->dst, ETH_ALEN);
-   memcpy(pattrib->ta, pattrib->src, ETH_ALEN);
-
-   /*  */
-   memcpy(pattrib->bssid,  mybssid, ETH_ALEN);
-
-   *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /*  get 
sta_info */
-   if (*psta == NULL) {
-   RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("can't 
get psta under MP_MODE ; drop pkt\n"));
-   ret = _FAIL;
-   goto exit;
-   }
} else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
/* Special case */
ret = RTW_RX_HANDLED;
@@ -1303,8 +1277,6 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
u8  *psnap_type;
struct ieee80211_snap_hdr   *psnap;
 
-   struct adapter  *adapter = precvframe->adapter;
-   struct mlme_priv*pmlmepriv = &adapter->mlmepriv;
u8 *ptr = precvframe->rx_data;
struct rx_pkt_attrib *pattrib = &precvframe->attrib;
 
@@ -1335,19 +1307,7 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
eth_type = ntohs(be_tmp); /* pattrib->ether_type */
pattrib->eth_type = eth_type;
 
-   if ((check_fwstate(pmlmepriv, WIFI_MP_STATE))) {
-   ptr += rmv_len;
-

[PATCH 36/37] staging:r8188eu: remove unused structures from include/rtw_mlme.h

2016-10-19 Thread Ivan Safonov
Also SCAN_RESULT_TYPE enum removed.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_mlme.h | 188 ---
 1 file changed, 188 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_mlme.h 
b/drivers/staging/rtl8188eu/include/rtw_mlme.h
index d27b2ad..14ead5c 100644
--- a/drivers/staging/rtl8188eu/include/rtw_mlme.h
+++ b/drivers/staging/rtl8188eu/include/rtw_mlme.h
@@ -67,17 +67,6 @@ enum rt_scan_type {
SCAN_MIX,
 };
 
-enum SCAN_RESULT_TYPE {
-   SCAN_RESULT_P2P_ONLY = 0,   /* Will return all the P2P devices. */
-   SCAN_RESULT_ALL = 1,/* Will return all the scanned device,
-* include AP. */
-   SCAN_RESULT_WFD_TYPE = 2/* Will just return the correct WFD
-* device. */
-   /* If this device is Miracast sink
-* device, it will just return all the
-* Miracast source devices. */
-};
-
 /*
 there are several "locks" in mlme_priv,
 since mlme_priv is a shared resource between many threads,
@@ -107,183 +96,6 @@ struct rt_link_detect {
   * to Tx traffic. */
 };
 
-struct profile_info {
-   u8  ssidlen;
-   u8  ssid[WLAN_SSID_MAXLEN];
-   u8  peermac[ETH_ALEN];
-};
-
-struct tx_invite_req_info {
-   u8  token;
-   u8  benable;
-   u8  go_ssid[WLAN_SSID_MAXLEN];
-   u8  ssidlen;
-   u8  go_bssid[ETH_ALEN];
-   u8  peer_macaddr[ETH_ALEN];
-   u8  operating_ch;   /* This information will be set by using the
-* p2p_set op_ch=x */
-   u8  peer_ch;/* The listen channel for peer P2P device */
-};
-
-struct tx_invite_resp_info {
-   u8  token;  /* Used to record the dialog token of p2p invitation
-* request frame. */
-};
-
-struct tx_provdisc_req_info {
-   u16 wps_config_method_request;  /* Used when sending the
-* provisioning request frame*/
-   u16 peer_channel_num[2];/* The channel number which the
-* receiver stands. */
-   struct ndis_802_11_ssid ssid;
-   u8  peerDevAddr[ETH_ALEN];  /* Peer device address */
-   u8  peerIFAddr[ETH_ALEN];   /* Peer interface address */
-   u8  benable;/* This provision discovery
-* request frame is trigger
-* to send or not */
-};
-
-/* When peer device issue prov_disc_req first, we should store the following
- * information */
-/* The UI must know this information to know which config method the
- * remote p2p device needs. */
-struct rx_provdisc_req_info {
-   u8  peerDevAddr[ETH_ALEN];  /* Peer device address */
-   u8  strconfig_method_desc_of_prov_disc_req[4];  /* description
-   * for the config method located in the provisioning
-   * discovery request frame. */
-};
-
-struct tx_nego_req_info {
-   u16 peer_channel_num[2];/* The channel number. */
-   u8  peerDevAddr[ETH_ALEN];  /* Peer device address */
-   u8  benable;/* This negotiation request frame is
-* trigger to send or not */
-};
-
-struct group_id_info {
-   u8  go_device_addr[ETH_ALEN];   /* The GO's device address of
-* this P2P group */
-   u8  ssid[WLAN_SSID_MAXLEN]; /* The SSID of this P2P group */
-};
-
-struct scan_limit_info {
-   u8  scan_op_ch_only;/* When this flag is set, the driver
-* should only scan the op. channel */
-   u8  operation_ch[2];/* Store the op. chan of invitation */
-};
-
-struct wifidirect_info {
-   struct adapter *padapter;
-   struct timer_list find_phase_timer;
-   struct timer_list restore_p2p_state_timer;
-
-   /* Used to do the scanning. After confirming the peer is availalble,
-* the driver transmits the P2P frame to peer. */
-   struct timer_list pre_tx_scan_timer;
-   struct timer_list reset_ch_sitesurvey;
-   struct timer_list reset_ch_sitesurvey2; /* Just for resetting the scan
-* limit function by using p2p nego */
-   struct tx_provdisc_req_info tx_prov_disc_info;
-   struct rx_provdisc_req_info rx_prov_disc_info;
-   struct tx_invite_req_info   invitereq_info;
-   /* Store the profile information of persistent group */
-   struct profile_info profileinfo[P2P_MAX_PERSISTENT_GROUP_NUM];
-   struct tx_invite_resp

[PATCH 22/37] staging:r8188eu: change recvframe_pull_tail type to void

2016-10-19 Thread Ivan Safonov
Return value of this function does not used.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 0804e88..9a3a978 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -292,7 +292,7 @@ static inline u8 *recvframe_put(struct recv_frame 
*precvframe, uint sz)
return precvframe->rx_tail;
 }
 
-static inline u8 *recvframe_pull_tail(struct recv_frame *precvframe, uint sz)
+static inline void recvframe_pull_tail(struct recv_frame *precvframe, uint sz)
 {
/*  rmv data from rx_tail (by yitsen) */
 
@@ -301,14 +301,13 @@ static inline u8 *recvframe_pull_tail(struct recv_frame 
*precvframe, uint sz)
/* after pulling, rx_end must be still larger than rx_data. */
 
if (precvframe == NULL)
-   return NULL;
+   return;
precvframe->rx_tail -= sz;
if (precvframe->rx_tail < precvframe->pkt->data) {
precvframe->rx_tail += sz;
-   return NULL;
+   return;
}
precvframe->len -= sz;
-   return precvframe->rx_tail;
 }
 
 static inline s32 translate_percentage_to_dbm(u32 sig_stren_index)
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 05/37] staging:r8188eu: remove mp_mode member of odm_dm_struct and odm_dm_struct structures

2016-10-19 Thread Ivan Safonov
Value of this variable always is 0.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_pwrctrl.c   |  8 +---
 drivers/staging/rtl8188eu/hal/odm.c|  3 +--
 drivers/staging/rtl8188eu/hal/odm_RTL8188E.c   | 19 ---
 drivers/staging/rtl8188eu/hal/phy.c|  8 +---
 drivers/staging/rtl8188eu/hal/rtl8188e_dm.c|  6 --
 drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c | 16 ++--
 drivers/staging/rtl8188eu/hal/usb_halinit.c| 25 +++--
 drivers/staging/rtl8188eu/include/drv_types.h  |  1 -
 drivers/staging/rtl8188eu/include/odm.h|  1 -
 drivers/staging/rtl8188eu/os_dep/os_intfs.c|  1 -
 10 files changed, 16 insertions(+), 72 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c 
b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
index 4032121..c92807e 100644
--- a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
@@ -127,9 +127,6 @@ void ips_enter(struct adapter *padapter)
struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
struct xmit_priv *pxmit_priv = &padapter->xmitpriv;
 
-   if (padapter->registrypriv.mp_mode == 1)
-   return;
-
if (pxmit_priv->free_xmitbuf_cnt != NR_XMITBUFF ||
pxmit_priv->free_xmit_extbuf_cnt != NR_XMIT_EXTBUFF) {
DBG_88E_LEVEL(_drv_info_, "There are some pkts to transmit\n");
@@ -520,10 +517,7 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
pwrctrlpriv->bkeepfwalive = false;
 
pwrctrlpriv->LpsIdleCount = 0;
-   if (padapter->registrypriv.mp_mode == 1)
-   pwrctrlpriv->power_mgnt = PS_MODE_ACTIVE;
-   else
-   pwrctrlpriv->power_mgnt = padapter->registrypriv.power_mgnt;/*  
PS_MODE_MIN; */
+   pwrctrlpriv->power_mgnt = padapter->registrypriv.power_mgnt;/*  
PS_MODE_MIN; */
pwrctrlpriv->bLeisurePs = (PS_MODE_ACTIVE != pwrctrlpriv->power_mgnt) ? 
true : false;
 
pwrctrlpriv->bFwCurrentInPSMode = false;
diff --git a/drivers/staging/rtl8188eu/hal/odm.c 
b/drivers/staging/rtl8188eu/hal/odm.c
index 16476e7..322eb31 100644
--- a/drivers/staging/rtl8188eu/hal/odm.c
+++ b/drivers/staging/rtl8188eu/hal/odm.c
@@ -991,8 +991,7 @@ void odm_TXPowerTrackingThermalMeterInit(struct 
odm_dm_struct *pDM_Odm)
 {
pDM_Odm->RFCalibrateInfo.bTXPowerTracking = true;
pDM_Odm->RFCalibrateInfo.TXPowercount = 0;
-   if (*(pDM_Odm->mp_mode) != 1)
-   pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true;
+   pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true;
MSG_88E("pDM_Odm TxPowerTrackControl = %d\n", 
pDM_Odm->RFCalibrateInfo.TxPowerTrackControl);
 
pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true;
diff --git a/drivers/staging/rtl8188eu/hal/odm_RTL8188E.c 
b/drivers/staging/rtl8188eu/hal/odm_RTL8188E.c
index dd9b902..5a0bc8b 100644
--- a/drivers/staging/rtl8188eu/hal/odm_RTL8188E.c
+++ b/drivers/staging/rtl8188eu/hal/odm_RTL8188E.c
@@ -21,13 +21,6 @@ static void dm_rx_hw_antena_div_init(struct odm_dm_struct 
*dm_odm)
struct adapter *adapter = dm_odm->Adapter;
u32 value32;
 
-   if (*(dm_odm->mp_mode) == 1) {
-   dm_odm->AntDivType = CGCS_RX_SW_ANTDIV;
-   phy_set_bb_reg(adapter, ODM_REG_IGI_A_11N, BIT(7), 0);
-   phy_set_bb_reg(adapter, ODM_REG_LNA_SWITCH_11N, BIT(31), 1);
-   return;
-   }
-
/* MAC Setting */
value32 = phy_query_bb_reg(adapter, ODM_REG_ANTSEL_PIN_11N, bMaskDWord);
phy_set_bb_reg(adapter, ODM_REG_ANTSEL_PIN_11N, bMaskDWord,
@@ -52,14 +45,6 @@ static void dm_trx_hw_antenna_div_init(struct odm_dm_struct 
*dm_odm)
struct adapter *adapter = dm_odm->Adapter;
u32 value32;
 
-   if (*(dm_odm->mp_mode) == 1) {
-   dm_odm->AntDivType = CGCS_RX_SW_ANTDIV;
-   phy_set_bb_reg(adapter, ODM_REG_IGI_A_11N, BIT(7), 0);
-   phy_set_bb_reg(adapter, ODM_REG_RX_ANT_CTRL_11N,
-  BIT(5) | BIT(4) | BIT(3), 0);
-   return;
-   }
-
/* MAC Setting */
value32 = phy_query_bb_reg(adapter, ODM_REG_ANTSEL_PIN_11N, bMaskDWord);
phy_set_bb_reg(adapter, ODM_REG_ANTSEL_PIN_11N, bMaskDWord,
@@ -98,10 +83,6 @@ static void dm_fast_training_init(struct odm_dm_struct 
*dm_odm)
struct fast_ant_train *dm_fat_tbl = &dm_odm->DM_FatTable;
u32 AntCombination = 2;
 
-   if (*(dm_odm->mp_mode) == 1) {
-   return;
-   }
-
for (i = 0; i < 6; i++) {
dm_fat_tbl->Bssid[i] = 0;
dm_fat_tbl->antSumRSSI[i] = 0;
diff --git a/drivers/staging/rtl8188eu/hal/phy.c 
b/drivers/staging/rtl8188eu/hal/phy.c
index 35c91e0..8462a91 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -981,7 +981,7 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 
result[]

[PATCH 16/37] staging:r8188eu: change recvframe_pull last argument type

2016-10-19 Thread Ivan Safonov
uint instead of int used.
This function always called with positive sz argument.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 6a34e15..e661635 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -257,7 +257,7 @@ u32 rtw_free_uc_swdec_pending_queue(struct adapter 
*adapter);
 
 void rtw_reordering_ctrl_timeout_handler(unsigned long data);
 
-static inline u8 *recvframe_pull(struct recv_frame *precvframe, int sz)
+static inline u8 *recvframe_pull(struct recv_frame *precvframe, uint sz)
 {
/*  rx_data += sz; move rx_data sz bytes  hereafter */
 
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 14/37] staging:r8188eu: remove ieee80211_is_empty_essid function

2016-10-19 Thread Ivan Safonov
This function is unused.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_ieee80211.c | 17 -
 drivers/staging/rtl8188eu/include/ieee80211.h  |  3 ---
 2 files changed, 20 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c 
b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c
index 0c17004..2212f3a 100644
--- a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c
+++ b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c
@@ -952,23 +952,6 @@ void rtw_macaddr_cfg(u8 *mac_addr)
DBG_88E("rtw_macaddr_cfg MAC Address  = %pM\n", (mac_addr));
 }
 
-/* Baron adds to avoid FreeBSD warning */
-int ieee80211_is_empty_essid(const char *essid, int essid_len)
-{
-   /* Single white space is for Linksys APs */
-   if (essid_len == 1 && essid[0] == ' ')
-   return 1;
-
-   /* Otherwise, if the entire essid is 0, we assume it is hidden */
-   while (essid_len) {
-   essid_len--;
-   if (essid[essid_len] != '\0')
-   return 0;
-   }
-
-   return 1;
-}
-
 static int rtw_get_cipher_info(struct wlan_network *pnetwork)
 {
u32 wpa_ielen;
diff --git a/drivers/staging/rtl8188eu/include/ieee80211.h 
b/drivers/staging/rtl8188eu/include/ieee80211.h
index a4bbd2b..f7f1b70 100644
--- a/drivers/staging/rtl8188eu/include/ieee80211.h
+++ b/drivers/staging/rtl8188eu/include/ieee80211.h
@@ -633,9 +633,6 @@ enum ieee80211_state {
 #define IEEE_G (1<<2)
 #define IEEE_MODE_MASK(IEEE_A|IEEE_B|IEEE_G)
 
-/* Baron move to ieee80211.c */
-int ieee80211_is_empty_essid(const char *essid, int essid_len);
-
 /* Action category code */
 enum rtw_ieee80211_category {
RTW_WLAN_CATEGORY_SPECTRUM_MGMT = 0,
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 13/37] staging:r8188eu: remove debug messages after memory allocation failed

2016-10-19 Thread Ivan Safonov
These messages are redundant.
Also break rtw_usb_if1_init function if HalData allocation failed.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_efuse.c   | 4 +---
 drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c | 4 +---
 drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c   | 2 --
 drivers/staging/rtl8188eu/os_dep/osdep_service.c | 4 +---
 drivers/staging/rtl8188eu/os_dep/usb_intf.c  | 2 +-
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 1 -
 6 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_efuse.c 
b/drivers/staging/rtl8188eu/core/rtw_efuse.c
index 6953f7f..471f9c8 100644
--- a/drivers/staging/rtl8188eu/core/rtw_efuse.c
+++ b/drivers/staging/rtl8188eu/core/rtw_efuse.c
@@ -103,10 +103,8 @@ efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16 
_size_byte, u8  *pbuf)
return;
 
eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, 
EFUSE_MAX_WORD_UNIT, sizeof(u16));
-   if (!eFuseWord) {
-   DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
+   if (!eFuseWord)
goto eFuseWord_failed;
-   }
 
/*  0. Refresh efuse init map as all oxFF. */
for (i = 0; i < EFUSE_MAX_SECTION_88E; i++)
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c 
b/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
index d0f59b7..210d89b 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
@@ -461,10 +461,8 @@ static void SetFwRsvdPagePkt(struct adapter *adapt, bool 
bDLFinished)
 
DBG_88E("%s\n", __func__);
ReservedPagePacket = kzalloc(1000, GFP_KERNEL);
-   if (!ReservedPagePacket) {
-   DBG_88E("%s: alloc ReservedPagePacket fail!\n", __func__);
+   if (!ReservedPagePacket)
return;
-   }
 
pxmitpriv = &adapt->xmitpriv;
pmlmeext = &adapt->mlmeextpriv;
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c 
b/drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c
index 0fc093e..a79bb3a 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c
@@ -41,8 +41,6 @@ int   rtw_hal_init_recv_priv(struct adapter *padapter)
kcalloc(NR_RECVBUFF, sizeof(struct recv_buf), GFP_KERNEL);
if (!precvpriv->precv_buf) {
res = _FAIL;
-   RT_TRACE(_module_rtl871x_recv_c_, _drv_err_,
-   ("alloc recv_buf fail!\n"));
goto exit;
}
precvbuf = precvpriv->precv_buf;
diff --git a/drivers/staging/rtl8188eu/os_dep/osdep_service.c 
b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
index 7cd2655..8985c80 100644
--- a/drivers/staging/rtl8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8188eu/os_dep/osdep_service.c
@@ -44,10 +44,8 @@ void *rtw_malloc2d(int h, int w, int size)
int j;
 
void **a = kzalloc(h*sizeof(void *) + h*w*size, GFP_KERNEL);
-   if (!a) {
-   pr_info("%s: alloc memory fail!\n", __func__);
+   if (!a)
return NULL;
-   }
 
for (j = 0; j < h; j++)
a[j] = ((char *)(a+h)) + j*w*size;
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c 
b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index c6316ff..ba72f06 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -354,7 +354,7 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv 
*dvobj,
 
padapter->HalData = kzalloc(sizeof(struct hal_data_8188e), GFP_KERNEL);
if (!padapter->HalData)
-   DBG_88E("cant not alloc memory for HAL DATA\n");
+   goto free_adapter;
 
/* step read_chip_version */
rtw_hal_read_chip_version(padapter);
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c 
b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 4b078b5..315b077 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -239,7 +239,6 @@ static int usbctrl_vendorreq(struct adapter *adapt, u8 
request, u16 value, u16 i
pIo_buf = kmalloc(MAX_USB_IO_CTL_SIZE, GFP_ATOMIC);
 
if (pIo_buf == NULL) {
-   DBG_88E("[%s] pIo_buf == NULL\n", __func__);
status = -ENOMEM;
goto release_mutex;
}
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 03/37] staging:r8188eu: remove skb cloning after netdev_alloc_skb fail

2016-10-19 Thread Ivan Safonov
In accordance with the KISS principle.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 19 +++
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c 
b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index f19b203..4b078b5 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -132,22 +132,9 @@ static int recvbuf2recvframe(struct adapter *adapt, struct 
sk_buff *pskb)
precvframe->rx_tail = pkt_copy->data;
precvframe->rx_data = pkt_copy->data;
} else {
-   if ((pattrib->mfrag == 1) && (pattrib->frag_num == 0)) {
-   DBG_88E("recvbuf2recvframe: alloc_skb fail , 
drop frag frame\n");
-   rtw_free_recvframe(precvframe, 
pfree_recv_queue);
-   goto _exit_recvbuf2recvframe;
-   }
-   precvframe->pkt = skb_clone(pskb, GFP_ATOMIC);
-   if (precvframe->pkt) {
-   precvframe->rx_tail = pbuf + 
pattrib->drvinfo_sz + RXDESC_SIZE;
-   precvframe->rx_head = precvframe->rx_tail;
-   precvframe->rx_data = precvframe->rx_tail;
-   precvframe->rx_end =  pbuf + 
pattrib->drvinfo_sz + RXDESC_SIZE + alloc_sz;
-   } else {
-   DBG_88E("recvbuf2recvframe: skb_clone fail\n");
-   rtw_free_recvframe(precvframe, 
pfree_recv_queue);
-   goto _exit_recvbuf2recvframe;
-   }
+   DBG_88E("recvbuf2recvframe: alloc_skb fail , drop frag 
frame\n");
+   rtw_free_recvframe(precvframe, pfree_recv_queue);
+   goto _exit_recvbuf2recvframe;
}
 
recvframe_put(precvframe, skb_len);
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 33/37] staging:r8188eu: remove rtw_calculate_wlan_pkt_size_by_attribue function

2016-10-19 Thread Ivan Safonov
This function does not used.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_xmit.c| 18 --
 drivers/staging/rtl8188eu/include/rtw_xmit.h |  1 -
 2 files changed, 19 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_xmit.c 
b/drivers/staging/rtl8188eu/core/rtw_xmit.c
index 6697c86..6b00e6b 100644
--- a/drivers/staging/rtl8188eu/core/rtw_xmit.c
+++ b/drivers/staging/rtl8188eu/core/rtw_xmit.c
@@ -921,24 +921,6 @@ s32 rtw_txframes_sta_ac_pending(struct adapter *padapter, 
struct pkt_attrib *pat
 }
 
 /*
- * Calculate wlan 802.11 packet MAX size from pkt_attrib
- * This function doesn't consider fragment case
- */
-u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib)
-{
-   u32 len = 0;
-
-   len = pattrib->hdrlen + pattrib->iv_len; /*  WLAN Header and IV */
-   len += SNAP_SIZE + sizeof(u16); /*  LLC */
-   len += pattrib->pktlen;
-   if (pattrib->encrypt == _TKIP_)
-   len += 8; /*  MIC */
-   len += ((pattrib->bswenc) ? pattrib->icv_len : 0); /*  ICV */
-
-   return len;
-}
-
-/*
 
 This sub-routine will perform all the following:
 
diff --git a/drivers/staging/rtl8188eu/include/rtw_xmit.h 
b/drivers/staging/rtl8188eu/include/rtw_xmit.h
index dd6b7a9..37bca86 100644
--- a/drivers/staging/rtl8188eu/include/rtw_xmit.h
+++ b/drivers/staging/rtl8188eu/include/rtw_xmit.h
@@ -330,7 +330,6 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv 
*pxmitpriv,
 
 s32 rtw_xmit_classifier(struct adapter *padapter,
struct xmit_frame *pxmitframe);
-u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib);
 #define rtw_wlan_pkt_size(f) 
rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib)
 s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt,
   struct xmit_frame *pxmitframe);
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 23/37] staging:r8188eu: update rx_tail and pkt->tail synchronously

2016-10-19 Thread Ivan Safonov
To replace rx_tail with pkt->tail.
Now pkt->tail is equal to rx_tail and pkt->len is equal to len.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtw_recv.h | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 9a3a978..34d13f8 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -279,17 +279,17 @@ static inline u8 *recvframe_put(struct recv_frame 
*precvframe, uint sz)
 * and return the updated rx_tail to the caller */
/* after putting, rx_tail must be still larger than rx_end. */
 
+   u8 *tail;
+
if (precvframe == NULL)
return NULL;
 
-   precvframe->rx_tail += sz;
-
-   if (precvframe->rx_tail > precvframe->pkt->end) {
-   precvframe->rx_tail -= sz;
+   tail = skb_put(precvframe->pkt, sz);
+   if (!tail)
return NULL;
-   }
+   precvframe->rx_tail += sz;
precvframe->len += sz;
-   return precvframe->rx_tail;
+   return tail;
 }
 
 static inline void recvframe_pull_tail(struct recv_frame *precvframe, uint sz)
@@ -302,11 +302,11 @@ static inline void recvframe_pull_tail(struct recv_frame 
*precvframe, uint sz)
 
if (precvframe == NULL)
return;
-   precvframe->rx_tail -= sz;
-   if (precvframe->rx_tail < precvframe->pkt->data) {
-   precvframe->rx_tail += sz;
+
+   if (precvframe->len < sz)
return;
-   }
+   precvframe->rx_tail -= sz;
+   skb_trim(precvframe->pkt, precvframe->pkt->len - sz);
precvframe->len -= sz;
 }
 
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 24/37] staging:r8188eu: remove rx_tail member of recv_frame structure

2016-10-19 Thread Ivan Safonov
rx_end replaced with pkt->tail.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c| 2 +-
 drivers/staging/rtl8188eu/include/rtw_recv.h | 3 ---
 drivers/staging/rtl8188eu/os_dep/recv_linux.c| 2 +-
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 1 -
 4 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index a210a43..0a520a2 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1381,7 +1381,7 @@ static struct recv_frame *recvframe_defrag(struct adapter 
*adapter,
recvframe_pull_tail(prframe, pfhdr->attrib.icv_len);
 
/* memcpy */
-   memcpy(pfhdr->rx_tail, pnfhdr->pkt->data, pnfhdr->len);
+   memcpy(pfhdr->pkt->tail, pnfhdr->pkt->data, pnfhdr->len);
 
recvframe_put(prframe, pnfhdr->len);
 
diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 34d13f8..eab2bef 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -233,7 +233,6 @@ struct recv_frame {
struct adapter  *adapter;
struct rx_pkt_attrib attrib;
uint  len;
-   u8 *rx_tail;
struct sta_info *psta;
/* for A-MPDU Rx reordering buffer control */
struct recv_reorder_ctrl *preorder_ctrl;
@@ -287,7 +286,6 @@ static inline u8 *recvframe_put(struct recv_frame 
*precvframe, uint sz)
tail = skb_put(precvframe->pkt, sz);
if (!tail)
return NULL;
-   precvframe->rx_tail += sz;
precvframe->len += sz;
return tail;
 }
@@ -305,7 +303,6 @@ static inline void recvframe_pull_tail(struct recv_frame 
*precvframe, uint sz)
 
if (precvframe->len < sz)
return;
-   precvframe->rx_tail -= sz;
skb_trim(precvframe->pkt, precvframe->pkt->len - sz);
precvframe->len -= sz;
 }
diff --git a/drivers/staging/rtl8188eu/os_dep/recv_linux.c 
b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
index e405ea9..98b5817 100644
--- a/drivers/staging/rtl8188eu/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
@@ -95,7 +95,7 @@ int rtw_recv_indicatepkt(struct adapter *padapter,
  precv_frame->pkt->data));
RT_TRACE(_module_recv_osdep_c_, _drv_info_,
 ("precv_frame->hdr.rx_tail =%p precv_frame->pkt->end =%p 
precv_frame->hdr.len =%d\n",
-precv_frame->rx_tail, precv_frame->pkt->end,
+precv_frame->pkt->tail, precv_frame->pkt->end,
 precv_frame->len));
 
skb_set_tail_pointer(skb, precv_frame->len);
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c 
b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 45682ac..3fc4d84 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -127,7 +127,6 @@ static int recvbuf2recvframe(struct adapter *adapt, struct 
sk_buff *pskb)
skb_reserve(pkt_copy, 8 - ((size_t)(pkt_copy->data) & 
7));/* force pkt_copy->data at 8-byte alignment address */
skb_reserve(pkt_copy, shift_sz);/* force ip_hdr at 
8-byte alignment address according to shift_sz. */
memcpy(pkt_copy->data, (pbuf + pattrib->drvinfo_sz + 
RXDESC_SIZE), skb_len);
-   precvframe->rx_tail = pkt_copy->data;
} else {
DBG_88E("recvbuf2recvframe: alloc_skb fail , drop frag 
frame\n");
rtw_free_recvframe(precvframe, pfree_recv_queue);
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 10/37] staging:r8188eu: remove type cast for first argument of memset

2016-10-19 Thread Ivan Safonov
Typecasting here is unnecessary.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_ap.c|  2 +-
 drivers/staging/rtl8188eu/core/rtw_efuse.c |  2 +-
 drivers/staging/rtl8188eu/core/rtw_mlme.c  | 10 +-
 drivers/staging/rtl8188eu/core/rtw_mlme_ext.c  |  4 ++--
 drivers/staging/rtl8188eu/core/rtw_recv.c  |  2 +-
 drivers/staging/rtl8188eu/core/rtw_sta_mgt.c   |  2 +-
 drivers/staging/rtl8188eu/core/rtw_wlan_util.c |  2 +-
 drivers/staging/rtl8188eu/core/rtw_xmit.c  |  2 +-
 drivers/staging/rtl8188eu/os_dep/mlme_linux.c  |  2 +-
 9 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_ap.c 
b/drivers/staging/rtl8188eu/core/rtw_ap.c
index 553e8d5..fe1ba9e 100644
--- a/drivers/staging/rtl8188eu/core/rtw_ap.c
+++ b/drivers/staging/rtl8188eu/core/rtw_ap.c
@@ -1852,7 +1852,7 @@ void stop_ap_mode(struct adapter *padapter)
pmlmeext->bstart_bss = false;
 
/* reset and init security priv , this can refine with 
rtw_reset_securitypriv */
-   memset((unsigned char *)&padapter->securitypriv, 0, sizeof(struct 
security_priv));
+   memset(&padapter->securitypriv, 0, sizeof(struct security_priv));
padapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen;
padapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled;
 
diff --git a/drivers/staging/rtl8188eu/core/rtw_efuse.c 
b/drivers/staging/rtl8188eu/core/rtw_efuse.c
index 16cc770..6953f7f 100644
--- a/drivers/staging/rtl8188eu/core/rtw_efuse.c
+++ b/drivers/staging/rtl8188eu/core/rtw_efuse.c
@@ -786,7 +786,7 @@ hal_EfusePgCheckAvailableAddr(
 
 static void hal_EfuseConstructPGPkt(u8 offset, u8 word_en, u8 *pData, struct 
pgpkt *pTargetPkt)
 {
-   memset((void *)pTargetPkt->data, 0xFF, sizeof(u8)*8);
+   memset(pTargetPkt->data, 0xFF, sizeof(u8)*8);
pTargetPkt->offset = offset;
pTargetPkt->word_en = word_en;
efuse_WordEnableDataRead(word_en, pData, pTargetPkt->data);
diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme.c 
b/drivers/staging/rtl8188eu/core/rtw_mlme.c
index 032f783..249e004 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme.c
@@ -892,11 +892,11 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct 
adapter *padapter, str
padapter->securitypriv.bgrpkey_handshake = false;
psta->ieee8021x_blocked = true;
psta->dot118021XPrivacy = 
padapter->securitypriv.dot11PrivacyAlgrthm;
-   memset((u8 *)&psta->dot118021x_UncstKey, 0, 
sizeof(union Keytype));
-   memset((u8 *)&psta->dot11tkiprxmickey, 0, sizeof(union 
Keytype));
-   memset((u8 *)&psta->dot11tkiptxmickey, 0, sizeof(union 
Keytype));
-   memset((u8 *)&psta->dot11txpn, 0, sizeof(union pn48));
-   memset((u8 *)&psta->dot11rxpn, 0, sizeof(union pn48));
+   memset(&psta->dot118021x_UncstKey, 0, sizeof(union 
Keytype));
+   memset(&psta->dot11tkiprxmickey, 0, sizeof(union 
Keytype));
+   memset(&psta->dot11tkiptxmickey, 0, sizeof(union 
Keytype));
+   memset(&psta->dot11txpn, 0, sizeof(union pn48));
+   memset(&psta->dot11rxpn, 0, sizeof(union pn48));
}
/*
 * Commented by Albert 2012/07/21
diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c 
b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
index c94700c..0bb24fa 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
@@ -199,7 +199,7 @@ void update_mgntframe_attrib(struct adapter *padapter, 
struct pkt_attrib *pattri
 {
struct mlme_ext_priv*pmlmeext = &(padapter->mlmeextpriv);
 
-   memset((u8 *)(pattrib), 0, sizeof(struct pkt_attrib));
+   memset(pattrib, 0, sizeof(struct pkt_attrib));
 
pattrib->hdrlen = 24;
pattrib->nr_frags = 1;
@@ -2847,7 +2847,7 @@ static unsigned int OnAuth(struct adapter *padapter,
rtw_free_stainfo(padapter, pstat);
 
pstat = &stat;
-   memset((char *)pstat, '\0', sizeof(stat));
+   memset(pstat, '\0', sizeof(stat));
pstat->auth_seq = 2;
memcpy(pstat->hwaddr, sa, 6);
 
diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index dd71894..74220f3 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -44,7 +44,7 @@ static void rtw_signal_stat_timer_hdl(unsigned long data);
 void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv)
 {
 
-   memset((u8 *)psta_recvpriv, 0, sizeof(struct sta_recv_priv));
+   memset(psta_recvpriv, 0, sizeof(struct sta_recv_priv));
 
spin_lock_init(&psta_recvpriv->lock);
 
diff --git a/drivers/staging/rtl8188eu/core/

[PATCH 26/37] staging:r8188eu: remove recvframe_pull function

2016-10-19 Thread Ivan Safonov
skb_pull used instead.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c|  8 
 drivers/staging/rtl8188eu/include/rtw_recv.h | 17 -
 2 files changed, 4 insertions(+), 21 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 5e47e25..1d29808 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1303,7 +1303,7 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
eth_type = ntohs(be_tmp); /* pattrib->ether_type */
pattrib->eth_type = eth_type;
 
-   ptr = recvframe_pull(precvframe, (rmv_len-sizeof(struct ethhdr) + 
(bsnaphdr ? 2 : 0)));
+   ptr = skb_pull(precvframe->pkt, (rmv_len-sizeof(struct ethhdr) + 
(bsnaphdr ? 2 : 0)));
 
memcpy(ptr, pattrib->dst, ETH_ALEN);
memcpy(ptr+ETH_ALEN, pattrib->src, ETH_ALEN);
@@ -1372,7 +1372,7 @@ static struct recv_frame *recvframe_defrag(struct adapter 
*adapter,
 
wlanhdr_offset = pnfhdr->attrib.hdrlen + pnfhdr->attrib.iv_len;
 
-   recvframe_pull(pnextrframe, wlanhdr_offset);
+   skb_pull(pnextrframe->pkt, wlanhdr_offset);
 
/* append  to first fragment frame's tail (if privacy frame, 
pull the ICV) */
recvframe_pull_tail(prframe, pfhdr->attrib.icv_len);
@@ -1508,10 +1508,10 @@ static int amsdu_to_msdu(struct adapter *padapter, 
struct recv_frame *prframe)
 
pattrib = &prframe->attrib;
 
-   recvframe_pull(prframe, prframe->attrib.hdrlen);
+   skb_pull(prframe->pkt, prframe->attrib.hdrlen);
 
if (prframe->attrib.iv_len > 0)
-   recvframe_pull(prframe, prframe->attrib.iv_len);
+   skb_pull(prframe->pkt, prframe->attrib.iv_len);
 
a_len = prframe->pkt->len;
 
diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 752c40fe..f0ce2e6 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -253,23 +253,6 @@ u32 rtw_free_uc_swdec_pending_queue(struct adapter 
*adapter);
 
 void rtw_reordering_ctrl_timeout_handler(unsigned long data);
 
-static inline u8 *recvframe_pull(struct recv_frame *precvframe, uint sz)
-{
-   /*  rx_data += sz; move rx_data sz bytes  hereafter */
-
-   /* used for extract sz bytes from rx_data, update rx_data and return
-* the updated rx_data to the caller */
-
-   u8 *data;
-
-   if (precvframe == NULL)
-   return NULL;
-   data = skb_pull(precvframe->pkt, sz);
-   if (!data)
-   return NULL;
-   return data;
-}
-
 static inline u8 *recvframe_put(struct recv_frame *precvframe, uint sz)
 {
/* used for append sz bytes from ptr to rx_tail, update rx_tail
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 32/37] staging:r8188eu: remove SET_EARLYMODE_* definitions

2016-10-19 Thread Ivan Safonov
These definitions does not used.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/include/rtl8188e_xmit.h | 16 
 1 file changed, 16 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_xmit.h 
b/drivers/staging/rtl8188eu/include/rtl8188e_xmit.h
index 66205b7..32f7522 100644
--- a/drivers/staging/rtl8188eu/include/rtl8188e_xmit.h
+++ b/drivers/staging/rtl8188eu/include/rtl8188e_xmit.h
@@ -28,22 +28,6 @@
 #define QSLT_MGNT  0x12
 #define QSLT_CMD   0x13
 
-/* For 88e early mode */
-#define SET_EARLYMODE_PKTNUM(__pAddr, __Value) \
-   SET_BITS_TO_LE_4BYTE(__pAddr, 0, 3, __Value)
-#define SET_EARLYMODE_LEN0(__pAddr, __Value)   \
-   SET_BITS_TO_LE_4BYTE(__pAddr, 4, 12, __Value)
-#define SET_EARLYMODE_LEN1(__pAddr, __Value)   \
-   SET_BITS_TO_LE_4BYTE(__pAddr, 16, 12, __Value)
-#define SET_EARLYMODE_LEN2_1(__pAddr, __Value) \
-   SET_BITS_TO_LE_4BYTE(__pAddr, 28, 4, __Value)
-#define SET_EARLYMODE_LEN2_2(__pAddr, __Value) \
-   SET_BITS_TO_LE_4BYTE(__pAddr+4, 0, 8, __Value)
-#define SET_EARLYMODE_LEN3(__pAddr, __Value)   \
-   SET_BITS_TO_LE_4BYTE(__pAddr+4, 8, 12, __Value)
-#define SET_EARLYMODE_LEN4(__pAddr, __Value)   \
-   SET_BITS_TO_LE_4BYTE(__pAddr+4, 20, 12, __Value)
-
 /*  */
 /* defined for TX DESC Operation */
 /*  */
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 01/37] staging:r8188eu: remove get_rxmem function

2016-10-19 Thread Ivan Safonov
This simple one-line function used only once, and precvframe always not NULL.

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_recv.c| 2 +-
 drivers/staging/rtl8188eu/include/rtw_recv.h | 8 
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c 
b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 3e6edb6..691623c 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1343,7 +1343,7 @@ static int wlanhdr_to_ethhdr(struct recv_frame 
*precvframe)
eth_type = 0x8712;
/*  append rx status for mp test packets */
ptr = recvframe_pull(precvframe, (rmv_len-sizeof(struct 
ethhdr)+2)-24);
-   memcpy(ptr, get_rxmem(precvframe), 24);
+   memcpy(ptr, precvframe->rx_head, 24);
ptr += 24;
} else {
ptr = recvframe_pull(precvframe, (rmv_len-sizeof(struct ethhdr) 
+ (bsnaphdr ? 2 : 0)));
diff --git a/drivers/staging/rtl8188eu/include/rtw_recv.h 
b/drivers/staging/rtl8188eu/include/rtw_recv.h
index 052af7b..4280fa1 100644
--- a/drivers/staging/rtl8188eu/include/rtw_recv.h
+++ b/drivers/staging/rtl8188eu/include/rtw_recv.h
@@ -258,14 +258,6 @@ u32 rtw_free_uc_swdec_pending_queue(struct adapter 
*adapter);
 
 void rtw_reordering_ctrl_timeout_handler(unsigned long data);
 
-static inline u8 *get_rxmem(struct recv_frame *precvframe)
-{
-   /* always return rx_head... */
-   if (precvframe == NULL)
-   return NULL;
-   return precvframe->rx_head;
-}
-
 static inline u8 *recvframe_pull(struct recv_frame *precvframe, int sz)
 {
/*  rx_data += sz; move rx_data sz bytes  hereafter */
-- 
2.7.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH] tools: hv: clean up code, remove unnecessary header files and link flags

2016-10-19 Thread KY Srinivasan


> -Original Message-
> From: Weibing Zhang [mailto:atheism.zh...@gmail.com]
> Sent: Tuesday, October 18, 2016 8:43 PM
> To: KY Srinivasan ; Haiyang Zhang
> 
> Cc: de...@linuxdriverproject.org; linux-ker...@vger.kernel.org; Weibing
> Zhang 
> Subject: [PATCH] tools: hv: clean up code, remove unnecessary header files
> and link flags
> 
> Remove unnecessary header files and netlink related code as the daemons
> do not use netlink to communicate with the kernel now.
> Fix a compile warning in snprintf.
> Pthread is also not needed.

Breakup this patch into one that does header cleanup and the other that fixes 
the 
compilation warning.

K. Y
> 
> Signed-off-by: Weibing Zhang 
> ---
>  tools/hv/Makefile  | 3 +--
>  tools/hv/hv_fcopy_daemon.c | 7 ---
>  tools/hv/hv_kvp_daemon.c   | 9 +
>  3 files changed, 2 insertions(+), 17 deletions(-)
> 
> diff --git a/tools/hv/Makefile b/tools/hv/Makefile
> index a8c4644..0d1e61b 100644
> --- a/tools/hv/Makefile
> +++ b/tools/hv/Makefile
> @@ -1,9 +1,8 @@
>  # Makefile for Hyper-V tools
> 
>  CC = $(CROSS_COMPILE)gcc
> -PTHREAD_LIBS = -lpthread
>  WARNINGS = -Wall -Wextra
> -CFLAGS = $(WARNINGS) -g $(PTHREAD_LIBS) $(shell getconf LFS_CFLAGS)
> +CFLAGS = $(WARNINGS) -g $(shell getconf LFS_CFLAGS)
> 
>  CFLAGS += -D__EXPORTED_HEADERS__ -I../../include/uapi -I../../include
> 
> diff --git a/tools/hv/hv_fcopy_daemon.c b/tools/hv/hv_fcopy_daemon.c
> index fdc9ca4..26ae609 100644
> --- a/tools/hv/hv_fcopy_daemon.c
> +++ b/tools/hv/hv_fcopy_daemon.c
> @@ -18,21 +18,14 @@
> 
> 
>  #include 
> -#include 
> -#include 
> -#include 
> -#include 
>  #include 
>  #include 
>  #include 
> -#include 
> -#include 
>  #include 
>  #include 
>  #include 
>  #include 
>  #include 
> -#include 
>  #include 
> 
>  static int target_fd;
> diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
> index bc7adb8..d791dbf 100644
> --- a/tools/hv/hv_kvp_daemon.c
> +++ b/tools/hv/hv_kvp_daemon.c
> @@ -22,8 +22,6 @@
>   */
> 
> 
> -#include 
> -#include 
>  #include 
>  #include 
>  #include 
> @@ -34,7 +32,6 @@
>  #include 
>  #include 
>  #include 
> -#include 
>  #include 
>  #include 
>  #include 
> @@ -99,10 +96,6 @@ static struct utsname uts_buf;
>  #define MAX_FILE_NAME 100
>  #define ENTRIES_PER_BLOCK 50
> 
> -#ifndef SOL_NETLINK
> -#define SOL_NETLINK 270
> -#endif
> -
>  struct kvp_record {
>   char key[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
>   char value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
> @@ -702,7 +695,7 @@ static char *kvp_mac_to_if_name(char *mac)
>   if (dir == NULL)
>   return NULL;
> 
> - snprintf(dev_id, sizeof(dev_id), kvp_net_dir);
> + snprintf(dev_id, sizeof(dev_id), "%s", kvp_net_dir);
>   q = dev_id + strlen(kvp_net_dir);
> 
>   while ((entry = readdir(dir)) != NULL) {
> --
> 2.7.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH -next] greybus: es2: fix error return code in ap_probe()

2016-10-19 Thread Viresh Kumar
On Wed, Oct 19, 2016 at 6:47 PM, Wei Yongjun  wrote:
> From: Wei Yongjun 
>
> Fix to return a negative error code from the es2_arpc_in_enable() error
> handling case instead of 0, as done elsewhere in this function.
>
> Fixes: 9d9d3777a9db ("greybus: es2: Add a new bulk in endpoint for
> APBridgeA RPC")
> Signed-off-by: Wei Yongjun 
> ---
>  drivers/staging/greybus/es2.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c
> index 8eabc71..a97fccf 100644
> --- a/drivers/staging/greybus/es2.c
> +++ b/drivers/staging/greybus/es2.c
> @@ -1547,7 +1547,8 @@ static int ap_probe(struct usb_interface *interface,
> INIT_LIST_HEAD(&es2->arpcs);
> spin_lock_init(&es2->arpc_lock);
>
> -   if (es2_arpc_in_enable(es2))
> +   retval = es2_arpc_in_enable(es2);
> +   if (retval)
> goto error;
>
> retval = gb_hd_add(hd);

Acked-by: Viresh Kumar 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH net-next] hv_netvsc: fix a race between netvsc_send() and netvsc_init_buf()

2016-10-19 Thread Vitaly Kuznetsov
Fix in commit 880988348270 ("hv_netvsc: set nvdev link after populating
chn_table") turns out to be incomplete. A crash in
netvsc_get_next_send_section() is observed on mtu change when the device
is under load. The race I identified is: if we get to netvsc_send() after
we set net_device_ctx->nvdev link in netvsc_device_add() but before we
finish netvsc_connect_vsp()->netvsc_init_buf() send_section_map is not
allocated and we crash. Unfortunately we can't set net_device_ctx->nvdev
link after the netvsc_init_buf() call as during the negotiation we need
to receive packets and on the receive path we check for it. It would
probably be possible to split nvdev into a pair of nvdev_in and nvdev_out
links and check them accordingly in get_outbound_net_device()/
get_inbound_net_device() but this looks like an overkill.

Check that send_section_map is allocated in netvsc_send().

Signed-off-by: Vitaly Kuznetsov 
---
 drivers/net/hyperv/netvsc.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 720b5fa..e2bfaac 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -888,6 +888,13 @@ int netvsc_send(struct hv_device *device,
if (!net_device)
return -ENODEV;
 
+   /* We may race with netvsc_connect_vsp()/netvsc_init_buf() and get
+* here before the negotiation with the host is finished and
+* send_section_map may not be allocated yet.
+*/
+   if (!net_device->send_section_map)
+   return -EAGAIN;
+
out_channel = net_device->chn_table[q_idx];
 
packet->send_buf_index = NETVSC_INVALID_INDEX;
-- 
2.7.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: greybus: es2: fix arpc request size

2016-10-19 Thread Viresh Kumar
On 19-10-16, 13:44, Rui Miguel Silva wrote:
> Fix size field of arpc message request by using the header size and not
> the pointer size.
> 
> Signed-off-by: Rui Miguel Silva 
> ---
>  drivers/staging/greybus/es2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c
> index 8eabc71..d7fd4a0 100644
> --- a/drivers/staging/greybus/es2.c
> +++ b/drivers/staging/greybus/es2.c
> @@ -1033,7 +1033,7 @@ static struct arpc *arpc_alloc(void *payload, u16 size, 
> u8 type)
>   goto err_free_req;
>  
>   rpc->req->type = type;
> - rpc->req->size = cpu_to_le16(sizeof(rpc->req) + size);
> + rpc->req->size = cpu_to_le16(sizeof(*rpc->req) + size);
>   memcpy(rpc->req->data, payload, size);
>  
>   init_completion(&rpc->response_received);

Reviewed-by: Viresh Kumar 

-- 
viresh
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH -next] greybus: es2: fix error return code in ap_probe()

2016-10-19 Thread Johan Hovold
On Wed, Oct 19, 2016 at 01:17:53PM +, Wei Yongjun wrote:
> From: Wei Yongjun 
> 
> Fix to return a negative error code from the es2_arpc_in_enable() error
> handling case instead of 0, as done elsewhere in this function.
> 
> Fixes: 9d9d3777a9db ("greybus: es2: Add a new bulk in endpoint for
> APBridgeA RPC")
> Signed-off-by: Wei Yongjun 

Thanks for the fix. This was clearly broken and would have led to
havoc on disconnect as well.

Reviewed-by: Johan Hovold 

Thanks,
Johan
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH -next] greybus: es2: fix error return code in ap_probe()

2016-10-19 Thread Wei Yongjun
From: Wei Yongjun 

Fix to return a negative error code from the es2_arpc_in_enable() error
handling case instead of 0, as done elsewhere in this function.

Fixes: 9d9d3777a9db ("greybus: es2: Add a new bulk in endpoint for
APBridgeA RPC")
Signed-off-by: Wei Yongjun 
---
 drivers/staging/greybus/es2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c
index 8eabc71..a97fccf 100644
--- a/drivers/staging/greybus/es2.c
+++ b/drivers/staging/greybus/es2.c
@@ -1547,7 +1547,8 @@ static int ap_probe(struct usb_interface *interface,
INIT_LIST_HEAD(&es2->arpcs);
spin_lock_init(&es2->arpc_lock);
 
-   if (es2_arpc_in_enable(es2))
+   retval = es2_arpc_in_enable(es2);
+   if (retval)
goto error;
 
retval = gb_hd_add(hd);

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 3/7] iio: light: tsl2583: use DEVICE_ATTR_{RO, RW, WO} macros

2016-10-19 Thread Dan Carpenter
On Wed, Oct 19, 2016 at 09:08:30AM -0400, Brian Masney wrote:
> On Wed, Oct 19, 2016 at 02:26:27PM +0300, Dan Carpenter wrote:
> > What does illuminance0_ mean?  Can we remove that?
> 
> I left the names of the existing sysfs attributes intact to not break
> any existing users of the driver. I'm not sure why the original author
> named it that way.

Ah...  Then I defer to your judgement.

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 3/7] iio: light: tsl2583: use DEVICE_ATTR_{RO, RW, WO} macros

2016-10-19 Thread Brian Masney
On Wed, Oct 19, 2016 at 02:26:27PM +0300, Dan Carpenter wrote:
> What does illuminance0_ mean?  Can we remove that?

I left the names of the existing sysfs attributes intact to not break
any existing users of the driver. I'm not sure why the original author
named it that way.

Brian

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 3/7] iio: light: tsl2583: use DEVICE_ATTR_{RO, RW, WO} macros

2016-10-19 Thread Brian Masney
On Wed, Oct 19, 2016 at 12:47:13PM +0200, Peter Meerwald-Stadler wrote:
> 
> > Use the DEVICE_ATTR_RO, IIO_DEVICE_ATTR_RW, and IIO_DEVICE_ATTR_WO
> > macros to create the device attributes.
> 
> great that you work on cleaning this up!
> 
> the patch does a bit more than is claimed, it also renames stuff; 
> eventually, a proper prefix ('tsl2583_') should be used...

We can't have the tsl2583_ prefix on the function with the
DEVICE_ATTR_{RW,RO,WO} macros. drivers/acpi/nfit/core.c is one of many
examples of this.

I will submit a separate patch to fix the prefix on the other functions
when I get to code style cleanups in that driver.

> maybe you can unify the two files in this patch series?
> ./staging/iio/Documentation/sysfs-bus-iio-light-tsl2583
> ./staging/iio/Documentation/light/sysfs-bus-iio-light-tsl2583
> 
> Suggested-by: Peter Meerwald-Stadler 
> :-)

I'll add that to my list.

There are plenty of other issues to fix in this driver and I'll have
more cleanup patches. I was at a good stopping point and wanted to send
out what I had so far to get feedback. I should have let the patch series
sit for a day before I sent it out.

Brian

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 5/7] iio: light: tsl2583: check return values from taos_chip_{on, off}

2016-10-19 Thread Dan Carpenter
On Wed, Oct 19, 2016 at 03:54:23PM +0300, Dan Carpenter wrote:
> On Wed, Oct 19, 2016 at 08:48:32AM -0400, Brian Masney wrote:
> > Ok, I'll rework my patch series to stick with the direct returns. I
> > personally prefer that approach. I was using the gotos since I thought
> > that was standard convention in the kernel.
> > 
> 
> It *should* but "goto unlock;"

s/but/be/

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 7/7] selftest: sync: stress test for merges

2016-10-19 Thread Emilio López
This test is based on the libsync test suite from Android.
This commit includes a test to stress merge operations.

Signed-off-by: Emilio López 
---
 tools/testing/selftests/sync/Makefile|   1 +
 tools/testing/selftests/sync/sync_stress_merge.c | 115 +++
 tools/testing/selftests/sync/sync_test.c |   1 +
 tools/testing/selftests/sync/synctest.h  |   3 +
 4 files changed, 120 insertions(+)
 create mode 100644 tools/testing/selftests/sync/sync_stress_merge.c

diff --git a/tools/testing/selftests/sync/Makefile 
b/tools/testing/selftests/sync/Makefile
index 20428d5..87ac400 100644
--- a/tools/testing/selftests/sync/Makefile
+++ b/tools/testing/selftests/sync/Makefile
@@ -16,6 +16,7 @@ TESTS += sync_merge.o
 TESTS += sync_wait.o
 TESTS += sync_stress_parallelism.o
 TESTS += sync_stress_consumer.o
+TESTS += sync_stress_merge.o
 
 sync_test: $(OBJS) $(TESTS)
 
diff --git a/tools/testing/selftests/sync/sync_stress_merge.c 
b/tools/testing/selftests/sync/sync_stress_merge.c
new file mode 100644
index 000..99e83ef
--- /dev/null
+++ b/tools/testing/selftests/sync/sync_stress_merge.c
@@ -0,0 +1,115 @@
+/*
+ *  sync stress test: merging
+ *  Copyright 2015-2016 Collabora Ltd.
+ *
+ *  Based on the implementation from the Android Open Source Project,
+ *
+ *  Copyright 2012 Google, Inc
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a
+ *  copy of this software and associated documentation files (the "Software"),
+ *  to deal in the Software without restriction, including without limitation
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ *  and/or sell copies of the Software, and to permit persons to whom the
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included in
+ *  all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ *  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *  OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include 
+#include 
+#include 
+
+#include "sync.h"
+#include "sw_sync.h"
+#include "synctest.h"
+
+int test_merge_stress_random_merge(void)
+{
+   int i, size, ret;
+   int timeline_count = 32;
+   int merge_count = 1024 * 32;
+   int timelines[timeline_count];
+   int fence_map[timeline_count];
+   int fence, tmpfence, merged, valid;
+   int timeline, timeline_offset, sync_point;
+
+   srand(time(NULL));
+
+   for (i = 0; i < timeline_count; i++)
+   timelines[i] = sw_sync_timeline_create();
+
+   fence = sw_sync_fence_create(timelines[0], "fence", 0);
+   valid = sw_sync_fence_is_valid(fence);
+   ASSERT(valid, "Failure creating fence\n");
+
+   memset(fence_map, -1, sizeof(fence_map));
+   fence_map[0] = 0;
+
+   /*
+* Randomly create sync_points out of a fixed set of timelines,
+* and merge them together
+*/
+   for (i = 0; i < merge_count; i++) {
+   /* Generate sync_point. */
+   timeline_offset = rand() % timeline_count;
+   timeline = timelines[timeline_offset];
+   sync_point = rand();
+
+   /* Keep track of the latest sync_point in each timeline. */
+   if (fence_map[timeline_offset] == -1)
+   fence_map[timeline_offset] = sync_point;
+   else if (fence_map[timeline_offset] < sync_point)
+   fence_map[timeline_offset] = sync_point;
+
+   /* Merge */
+   tmpfence = sw_sync_fence_create(timeline, "fence", sync_point);
+   merged = sync_merge("merge", tmpfence, fence);
+   sw_sync_fence_destroy(tmpfence);
+   sw_sync_fence_destroy(fence);
+   fence = merged;
+
+   valid = sw_sync_fence_is_valid(merged);
+   ASSERT(valid, "Failure creating fence i\n");
+   }
+
+   size = 0;
+   for (i = 0; i < timeline_count; i++)
+   if (fence_map[i] != -1)
+   size++;
+
+   /* Confirm our map matches the fence. */
+   ASSERT(sync_fence_size(fence) == size,
+  "Quantity of elements not matching\n");
+
+   /* Trigger the merged fence */
+   for (i = 0; i < timeline_count; i++) {
+   if (fence_map[i] != -1) {
+   ret = sync_wait(fence, 0);
+   ASSERT(ret == 0,
+  "Failure waiting on fence until timeout\n");
+   /* Increme

[PATCH v2 6/7] selftest: sync: stress consumer/producer test

2016-10-19 Thread Emilio López
This test is based on the libsync test suite from Android.
This commit includes a stress test that replicates a
consumer/producer pattern.

Signed-off-by: Emilio López 
---
 tools/testing/selftests/sync/Makefile  |   1 +
 .../testing/selftests/sync/sync_stress_consumer.c  | 185 +
 tools/testing/selftests/sync/sync_test.c   |   1 +
 tools/testing/selftests/sync/synctest.h|   3 +
 4 files changed, 190 insertions(+)
 create mode 100644 tools/testing/selftests/sync/sync_stress_consumer.c

diff --git a/tools/testing/selftests/sync/Makefile 
b/tools/testing/selftests/sync/Makefile
index 14f72bf..20428d5 100644
--- a/tools/testing/selftests/sync/Makefile
+++ b/tools/testing/selftests/sync/Makefile
@@ -15,6 +15,7 @@ TESTS += sync_fence.o
 TESTS += sync_merge.o
 TESTS += sync_wait.o
 TESTS += sync_stress_parallelism.o
+TESTS += sync_stress_consumer.o
 
 sync_test: $(OBJS) $(TESTS)
 
diff --git a/tools/testing/selftests/sync/sync_stress_consumer.c 
b/tools/testing/selftests/sync/sync_stress_consumer.c
new file mode 100644
index 000..d9eff8d
--- /dev/null
+++ b/tools/testing/selftests/sync/sync_stress_consumer.c
@@ -0,0 +1,185 @@
+/*
+ *  sync stress test: producer/consumer
+ *  Copyright 2015-2016 Collabora Ltd.
+ *
+ *  Based on the implementation from the Android Open Source Project,
+ *
+ *  Copyright 2012 Google, Inc
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a
+ *  copy of this software and associated documentation files (the "Software"),
+ *  to deal in the Software without restriction, including without limitation
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ *  and/or sell copies of the Software, and to permit persons to whom the
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included in
+ *  all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ *  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *  OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include 
+
+#include "sync.h"
+#include "sw_sync.h"
+#include "synctest.h"
+
+/* IMPORTANT NOTE: if you see this test failing on your system, it may be
+ * due to a shortage of file descriptors. Please ensure your system has
+ * a sensible limit for this test to finish correctly.
+ */
+
+/* Returns 1 on error, 0 on success */
+static int busy_wait_on_fence(int fence)
+{
+   int error, active;
+
+   do {
+   error = sync_fence_count_with_status(fence, FENCE_STATUS_ERROR);
+   ASSERT(error == 0, "Error occurred on fence\n");
+   active = sync_fence_count_with_status(fence,
+ FENCE_STATUS_ACTIVE);
+   } while (active);
+
+   return 0;
+}
+
+static struct {
+   int iterations;
+   int threads;
+   int counter;
+   int consumer_timeline;
+   int *producer_timelines;
+   pthread_mutex_t lock;
+} test_data_mpsc;
+
+static int mpsc_producer_thread(void *d)
+{
+   int id = (long)d;
+   int fence, valid, i;
+   int *producer_timelines = test_data_mpsc.producer_timelines;
+   int consumer_timeline = test_data_mpsc.consumer_timeline;
+   int iterations = test_data_mpsc.iterations;
+
+   for (i = 0; i < iterations; i++) {
+   fence = sw_sync_fence_create(consumer_timeline, "fence", i);
+   valid = sw_sync_fence_is_valid(fence);
+   ASSERT(valid, "Failure creating fence\n");
+
+   /*
+* Wait for the consumer to finish. Use alternate
+* means of waiting on the fence
+*/
+
+   if ((iterations + id) % 8 != 0) {
+   ASSERT(sync_wait(fence, -1) > 0,
+  "Failure waiting on fence\n");
+   } else {
+   ASSERT(busy_wait_on_fence(fence) == 0,
+  "Failure waiting on fence\n");
+   }
+
+   /*
+* Every producer increments the counter, the consumer
+* checks and erases it
+*/
+   pthread_mutex_lock(&test_data_mpsc.lock);
+   test_data_mpsc.counter++;
+   pthread_mutex_unlock(&test_data_mpsc.lock);
+
+   ASSERT(sw_sync_timeline_inc(producer_timelines[id], 1) == 0,
+  "Error advancing producer timeline\n");
+
+   sw_sync_fence_destroy(fence);
+   }
+
+   return

[PATCH v2 4/7] selftest: sync: wait tests for sw_sync framework

2016-10-19 Thread Emilio López
These tests are based on the libsync test suite from Android.
This commit includes tests for waiting on fences.

Signed-off-by: Emilio López 
---
 tools/testing/selftests/sync/Makefile|  1 +
 tools/testing/selftests/sync/sync_test.c |  1 +
 tools/testing/selftests/sync/sync_wait.c | 91 
 tools/testing/selftests/sync/synctest.h  |  3 ++
 4 files changed, 96 insertions(+)
 create mode 100644 tools/testing/selftests/sync/sync_wait.c

diff --git a/tools/testing/selftests/sync/Makefile 
b/tools/testing/selftests/sync/Makefile
index a39497d..99b58fe 100644
--- a/tools/testing/selftests/sync/Makefile
+++ b/tools/testing/selftests/sync/Makefile
@@ -13,6 +13,7 @@ OBJS = sync_test.o sync.o
 TESTS += sync_alloc.o
 TESTS += sync_fence.o
 TESTS += sync_merge.o
+TESTS += sync_wait.o
 
 sync_test: $(OBJS) $(TESTS)
 
diff --git a/tools/testing/selftests/sync/sync_test.c 
b/tools/testing/selftests/sync/sync_test.c
index ab37eee..eab5ceb 100644
--- a/tools/testing/selftests/sync/sync_test.c
+++ b/tools/testing/selftests/sync/sync_test.c
@@ -65,6 +65,7 @@ int main(void)
err += RUN_TEST(test_fence_one_timeline_wait);
err += RUN_TEST(test_fence_one_timeline_merge);
err += RUN_TEST(test_fence_merge_same_fence);
+   err += RUN_TEST(test_fence_multi_timeline_wait);
 
if (err)
printf("[FAIL]\tsync errors: %d\n", err);
diff --git a/tools/testing/selftests/sync/sync_wait.c 
b/tools/testing/selftests/sync/sync_wait.c
new file mode 100644
index 000..d69b752
--- /dev/null
+++ b/tools/testing/selftests/sync/sync_wait.c
@@ -0,0 +1,91 @@
+/*
+ *  sync fence wait tests
+ *  Copyright 2015-2016 Collabora Ltd.
+ *
+ *  Based on the implementation from the Android Open Source Project,
+ *
+ *  Copyright 2012 Google, Inc
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a
+ *  copy of this software and associated documentation files (the "Software"),
+ *  to deal in the Software without restriction, including without limitation
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ *  and/or sell copies of the Software, and to permit persons to whom the
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included in
+ *  all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ *  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *  OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "sync.h"
+#include "sw_sync.h"
+#include "synctest.h"
+
+int test_fence_multi_timeline_wait(void)
+{
+   int timelineA, timelineB, timelineC;
+   int fenceA, fenceB, fenceC, merged;
+   int valid, active, signaled, ret;
+
+   timelineA = sw_sync_timeline_create();
+   timelineB = sw_sync_timeline_create();
+   timelineC = sw_sync_timeline_create();
+
+   fenceA = sw_sync_fence_create(timelineA, "fenceA", 5);
+   fenceB = sw_sync_fence_create(timelineB, "fenceB", 5);
+   fenceC = sw_sync_fence_create(timelineC, "fenceC", 5);
+
+   merged = sync_merge("mergeFence", fenceB, fenceA);
+   merged = sync_merge("mergeFence", fenceC, merged);
+
+   valid = sw_sync_fence_is_valid(merged);
+   ASSERT(valid, "Failure merging fence from various timelines\n");
+
+   /* Confirm fence isn't signaled */
+   active = sync_fence_count_with_status(merged, FENCE_STATUS_ACTIVE);
+   ASSERT(active == 3, "Fence signaled too early!\n");
+
+   ret = sync_wait(merged, 0);
+   ASSERT(ret == 0,
+  "Failure waiting on fence until timeout\n");
+
+   ret = sw_sync_timeline_inc(timelineA, 5);
+   active = sync_fence_count_with_status(merged, FENCE_STATUS_ACTIVE);
+   signaled = sync_fence_count_with_status(merged, FENCE_STATUS_SIGNALED);
+   ASSERT(active == 2 && signaled == 1,
+  "Fence did not signal properly!\n");
+
+   ret = sw_sync_timeline_inc(timelineB, 5);
+   active = sync_fence_count_with_status(merged, FENCE_STATUS_ACTIVE);
+   signaled = sync_fence_count_with_status(merged, FENCE_STATUS_SIGNALED);
+   ASSERT(active == 1 && signaled == 2,
+  "Fence did not signal properly!\n");
+
+   ret = sw_sync_timeline_inc(timelineC, 5);
+   active = sync_fence_count_with_status(merged, FENCE_STATUS_ACTIVE);
+   signaled = sync_fence_count_with_status(merged, FENCE_STATUS_SIGNALED);
+   ASSERT(active == 0 && signaled == 3,
+  "Fence did not signal properly!\n");
+
+   /* confirm you can successfully

Re: [PATCH 5/7] iio: light: tsl2583: check return values from taos_chip_{on, off}

2016-10-19 Thread Dan Carpenter
On Wed, Oct 19, 2016 at 08:48:32AM -0400, Brian Masney wrote:
> Ok, I'll rework my patch series to stick with the direct returns. I
> personally prefer that approach. I was using the gotos since I thought
> that was standard convention in the kernel.
> 

It *should* but "goto unlock;"  When you can tell what the goto does,
that's great.  But these gotos don't do anything so by definition the
names are going to be meaningless.

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 5/7] selftest: sync: stress test for parallelism

2016-10-19 Thread Emilio López
This test is based on the libsync test suite from Android.
This commit includes a stress test that invokes operations
in parallel.

Signed-off-by: Emilio López 
---
 tools/testing/selftests/sync/Makefile  |   1 +
 .../selftests/sync/sync_stress_parallelism.c   | 111 +
 tools/testing/selftests/sync/sync_test.c   |   1 +
 tools/testing/selftests/sync/synctest.h|   3 +
 4 files changed, 116 insertions(+)
 create mode 100644 tools/testing/selftests/sync/sync_stress_parallelism.c

diff --git a/tools/testing/selftests/sync/Makefile 
b/tools/testing/selftests/sync/Makefile
index 99b58fe..14f72bf 100644
--- a/tools/testing/selftests/sync/Makefile
+++ b/tools/testing/selftests/sync/Makefile
@@ -14,6 +14,7 @@ TESTS += sync_alloc.o
 TESTS += sync_fence.o
 TESTS += sync_merge.o
 TESTS += sync_wait.o
+TESTS += sync_stress_parallelism.o
 
 sync_test: $(OBJS) $(TESTS)
 
diff --git a/tools/testing/selftests/sync/sync_stress_parallelism.c 
b/tools/testing/selftests/sync/sync_stress_parallelism.c
new file mode 100644
index 000..e6c9be67
--- /dev/null
+++ b/tools/testing/selftests/sync/sync_stress_parallelism.c
@@ -0,0 +1,111 @@
+/*
+ *  sync stress test: parallelism
+ *  Copyright 2015-2016 Collabora Ltd.
+ *
+ *  Based on the implementation from the Android Open Source Project,
+ *
+ *  Copyright 2012 Google, Inc
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a
+ *  copy of this software and associated documentation files (the "Software"),
+ *  to deal in the Software without restriction, including without limitation
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ *  and/or sell copies of the Software, and to permit persons to whom the
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included in
+ *  all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ *  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *  OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include 
+
+#include "sync.h"
+#include "sw_sync.h"
+#include "synctest.h"
+
+static struct {
+   int iterations;
+   int timeline;
+   int counter;
+} test_data_two_threads;
+
+static int test_stress_two_threads_shared_timeline_thread(void *d)
+{
+   int thread_id = (long)d;
+   int timeline = test_data_two_threads.timeline;
+   int iterations = test_data_two_threads.iterations;
+   int fence, valid, ret, i;
+
+   for (i = 0; i < iterations; i++) {
+   fence = sw_sync_fence_create(timeline, "fence",
+i * 2 + thread_id);
+   valid = sw_sync_fence_is_valid(fence);
+   ASSERT(valid, "Failure allocating fence\n");
+
+   /* Wait on the prior thread to complete */
+   ret = sync_wait(fence, -1);
+   ASSERT(ret > 0, "Problem occurred on prior thread\n");
+
+   /*
+* Confirm the previous thread's writes are visible
+* and then increment
+*/
+   ASSERT(test_data_two_threads.counter == i * 2 + thread_id,
+  "Counter got damaged!\n");
+   test_data_two_threads.counter++;
+
+   /* Kick off the other thread */
+   ret = sw_sync_timeline_inc(timeline, 1);
+   ASSERT(ret == 0, "Advancing timeline failed\n");
+
+   sw_sync_fence_destroy(fence);
+   }
+
+   return 0;
+}
+
+int test_stress_two_threads_shared_timeline(void)
+{
+   pthread_t a, b;
+   int valid;
+   int timeline = sw_sync_timeline_create();
+
+   valid = sw_sync_timeline_is_valid(timeline);
+   ASSERT(valid, "Failure allocating timeline\n");
+
+   test_data_two_threads.iterations = 1 << 16;
+   test_data_two_threads.counter = 0;
+   test_data_two_threads.timeline = timeline;
+
+   /*
+* Use a single timeline to synchronize two threads
+* hammmering on the same counter.
+*/
+
+   pthread_create(&a, NULL, (void *(*)(void *))
+  test_stress_two_threads_shared_timeline_thread,
+  (void *)0);
+   pthread_create(&b, NULL, (void *(*)(void *))
+  test_stress_two_threads_shared_timeline_thread,
+  (void *)1);
+
+   pthread_join(a, NULL);
+   pthread_join(b, NULL);
+
+   /* make sure the threads did not trample on one another */
+   ASSERT(test_data_two_threa

[PATCH v2 3/7] selftest: sync: merge tests for sw_sync framework

2016-10-19 Thread Emilio López
These tests are based on the libsync test suite from Android.
This commit includes tests for basic merge operations.

Signed-off-by: Emilio López 
---
 tools/testing/selftests/sync/Makefile |  1 +
 tools/testing/selftests/sync/sync_merge.c | 60 +++
 tools/testing/selftests/sync/sync_test.c  |  1 +
 tools/testing/selftests/sync/synctest.h   |  3 ++
 4 files changed, 65 insertions(+)
 create mode 100644 tools/testing/selftests/sync/sync_merge.c

diff --git a/tools/testing/selftests/sync/Makefile 
b/tools/testing/selftests/sync/Makefile
index 69e18b3..a39497d 100644
--- a/tools/testing/selftests/sync/Makefile
+++ b/tools/testing/selftests/sync/Makefile
@@ -12,6 +12,7 @@ OBJS = sync_test.o sync.o
 
 TESTS += sync_alloc.o
 TESTS += sync_fence.o
+TESTS += sync_merge.o
 
 sync_test: $(OBJS) $(TESTS)
 
diff --git a/tools/testing/selftests/sync/sync_merge.c 
b/tools/testing/selftests/sync/sync_merge.c
new file mode 100644
index 000..8914d43
--- /dev/null
+++ b/tools/testing/selftests/sync/sync_merge.c
@@ -0,0 +1,60 @@
+/*
+ *  sync fence merge tests
+ *  Copyright 2015-2016 Collabora Ltd.
+ *
+ *  Based on the implementation from the Android Open Source Project,
+ *
+ *  Copyright 2012 Google, Inc
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a
+ *  copy of this software and associated documentation files (the "Software"),
+ *  to deal in the Software without restriction, including without limitation
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ *  and/or sell copies of the Software, and to permit persons to whom the
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included in
+ *  all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ *  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *  OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "sync.h"
+#include "sw_sync.h"
+#include "synctest.h"
+
+int test_fence_merge_same_fence(void)
+{
+   int fence, valid, merged;
+   int timeline = sw_sync_timeline_create();
+
+   valid = sw_sync_timeline_is_valid(timeline);
+   ASSERT(valid, "Failure allocating timeline\n");
+
+   fence = sw_sync_fence_create(timeline, "allocFence", 5);
+   valid = sw_sync_fence_is_valid(fence);
+   ASSERT(valid, "Failure allocating fence\n");
+
+   merged = sync_merge("mergeFence", fence, fence);
+   valid = sw_sync_fence_is_valid(fence);
+   ASSERT(valid, "Failure merging fence\n");
+
+   ASSERT(sync_fence_count_with_status(merged, FENCE_STATUS_SIGNALED) == 0,
+  "fence signaled too early!\n");
+
+   sw_sync_timeline_inc(timeline, 5);
+   ASSERT(sync_fence_count_with_status(merged, FENCE_STATUS_SIGNALED) == 1,
+  "fence did not signal!\n");
+
+   sw_sync_fence_destroy(merged);
+   sw_sync_fence_destroy(fence);
+   sw_sync_timeline_destroy(timeline);
+
+   return 0;
+}
diff --git a/tools/testing/selftests/sync/sync_test.c 
b/tools/testing/selftests/sync/sync_test.c
index b442292b..ab37eee 100644
--- a/tools/testing/selftests/sync/sync_test.c
+++ b/tools/testing/selftests/sync/sync_test.c
@@ -64,6 +64,7 @@ int main(void)
 
err += RUN_TEST(test_fence_one_timeline_wait);
err += RUN_TEST(test_fence_one_timeline_merge);
+   err += RUN_TEST(test_fence_merge_same_fence);
 
if (err)
printf("[FAIL]\tsync errors: %d\n", err);
diff --git a/tools/testing/selftests/sync/synctest.h 
b/tools/testing/selftests/sync/synctest.h
index 6505c28..c3b0b5e 100644
--- a/tools/testing/selftests/sync/synctest.h
+++ b/tools/testing/selftests/sync/synctest.h
@@ -48,4 +48,7 @@ int test_alloc_fence_negative(void);
 int test_fence_one_timeline_wait(void);
 int test_fence_one_timeline_merge(void);
 
+/* Fence merge tests */
+int test_fence_merge_same_fence(void);
+
 #endif
-- 
2.10.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


  1   2   >