[PATCH] staging: lustre: ptlrpc: lproc_ptlrpc.c - fix dereferenceing user space buffer

2014-07-31 Thread Anil Belur
- this fixes sparse warning for directly deferencing user space buffer

drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c:652:33: warning: incorrect 
type in argument 2 (different address spaces)
drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c:652:33:expected void 
const [noderef] asn:1*from
drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c:652:33:got char const 
*buffer

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c 
b/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c
index 6b9c6db..455c6c7 100644
--- a/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c
+++ b/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c
@@ -628,7 +628,8 @@ out:
  * if the optional token is omitted, the operation is performed on both the
  * regular and high-priority (if the service has one) NRS head.
  */
-static ssize_t ptlrpc_lprocfs_nrs_seq_write(struct file *file, const char 
*buffer,
+static ssize_t ptlrpc_lprocfs_nrs_seq_write(struct file *file,
+   const char __user *buffer,
size_t count, loff_t *off)
 {
struct ptlrpc_service *svc = ((struct seq_file 
*)file-private_data)-private;
-- 
1.9.1

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


[PATCH v2 1/1] staging: vt6655: ioctl.c - missing __user annotation

2014-07-30 Thread Anil Belur
From: Anil Belur ask...@gmail.com

v2:
- private_ioctl() internally calls copy_{to,from}_user() and does
  not use '__user' which gives out several sparse warnings
- this patch adds __user annotation to the data member of struct
  tagSCmdRequest as suggested by tklau...@distanz.ch
- sparse warnings fixed:
 drivers/staging/vt6655/ioctl.c:78:51: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:78:51:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:78:51:got void *data
 drivers/staging/vt6655/ioctl.c:117:55: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:117:55:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:117:55:got void *data
 drivers/staging/vt6655/ioctl.c:149:46: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:149:46:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:149:46:got void *data
 drivers/staging/vt6655/ioctl.c:166:51: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:166:51:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:166:51:got void *data
 drivers/staging/vt6655/ioctl.c:212:50: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:212:50:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:212:50:got void *data
 drivers/staging/vt6655/ioctl.c:276:38: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:276:38:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:276:38:got void *data
 drivers/staging/vt6655/ioctl.c:292:38: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:292:38:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:292:38:got void *data
 drivers/staging/vt6655/ioctl.c:300:48: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:300:48:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:300:48:got void *data
 drivers/staging/vt6655/ioctl.c:344:38: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:344:38:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:344:38:got void *data
 drivers/staging/vt6655/ioctl.c:353:38: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:353:38:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:353:38:got void *data
 drivers/staging/vt6655/ioctl.c:360:38: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:360:38:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:360:38:got void *data
 drivers/staging/vt6655/ioctl.c:401:49: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:401:49:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:401:49:got void *data
 drivers/staging/vt6655/ioctl.c:424:49: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:424:49:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:424:49:got void *data
 drivers/staging/vt6655/ioctl.c:440:49: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:440:49:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:440:49:got void *data
 drivers/staging/vt6655/ioctl.c:457:49: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:457:49:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:457:49:got void *data
 drivers/staging/vt6655/ioctl.c:479:54: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:479:54:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:479:54:got void *data
 drivers/staging/vt6655/ioctl.c:563:38: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:563:38:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:563:38:got void *data
 drivers/staging/vt6655/ioctl.c:571:52: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:571:52:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:571:52:got void *data
 drivers/staging/vt6655/ioctl.c:615:38: warning: incorrect type in argument 1 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:615:38:expected void [noderef] asn:1*to
 drivers/staging/vt6655/ioctl.c:615:38:got void *data
 drivers/staging/vt6655/ioctl.c:631

[PATCH v3] staging: vt6655: ioctl.c - missing __user annotation

2014-07-30 Thread Anil Belur
- private_ioctl() internally calls copy_{to,from}_user() and does
  not use '__user' which gives out several sparse warnings
- these sparse warnings were fixed by adding __user annotation to
  the data member of struct tagSCmdRequest:

 drivers/staging/vt6655/ioctl.c:78:51: warning: incorrect type in argument 2 
(different address spaces)
 drivers/staging/vt6655/ioctl.c:78:51:expected void const [noderef] 
asn:1*from
 drivers/staging/vt6655/ioctl.c:78:51:got void *data

Signed-off-by: Anil Belur ask...@gmail.com
---
v2:
- replaced the 'void __user *' casts by adding '__user' annotation to the data 
member of struct
  tagSCmdRequest which is much cleaner approach as suggested by 
tklau...@distanz.ch
v1:
- added 'void __user *' casts to supress the warnings

 drivers/staging/vt6655/iocmd.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/vt6655/iocmd.h b/drivers/staging/vt6655/iocmd.h
index e499f1b..dd12498 100644
--- a/drivers/staging/vt6655/iocmd.h
+++ b/drivers/staging/vt6655/iocmd.h
@@ -100,7 +100,7 @@ typedef enum tagWZONETYPE {
 #pragma pack(1)
 typedef struct tagSCmdRequest {
u8  name[16];
-   void*data;
+   void __user *data;
u16 wResult;
u16 wCmdCode;
 } SCmdRequest, *PSCmdRequest;
-- 
1.9.1

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


[PATCH 1/1] drivers: staging: vt6655: ioctl.c - missing __user annotation

2014-07-28 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- private_ioctl() the internally calls copy_{to,from}_user() and does
  not use '__user' while refrencing user space pointers.
- this patch passes __user annotation as a cast, when the pointer is
 being refernced.
- this patch fixes the following sparse errors:
drivers/staging/vt6655/ioctl.c:44:12: warning: symbol 'wpa_Result' was not 
declared. Should it be static?
drivers/staging/vt6655/ioctl.c:78:51: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:78:51:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:78:51:got void *data
drivers/staging/vt6655/ioctl.c:117:55: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:117:55:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:117:55:got void *data
drivers/staging/vt6655/ioctl.c:149:46: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:149:46:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:149:46:got void *data
drivers/staging/vt6655/ioctl.c:166:51: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:166:51:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:166:51:got void *data
drivers/staging/vt6655/ioctl.c:212:50: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:212:50:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:212:50:got void *data
drivers/staging/vt6655/ioctl.c:276:38: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:276:38:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:276:38:got void *data
drivers/staging/vt6655/ioctl.c:292:38: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:292:38:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:292:38:got void *data
drivers/staging/vt6655/ioctl.c:300:48: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:300:48:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:300:48:got void *data
drivers/staging/vt6655/ioctl.c:344:38: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:344:38:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:344:38:got void *data
drivers/staging/vt6655/ioctl.c:353:38: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:353:38:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:353:38:got void *data
drivers/staging/vt6655/ioctl.c:360:38: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:360:38:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:360:38:got void *data
drivers/staging/vt6655/ioctl.c:401:49: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:401:49:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:401:49:got void *data
drivers/staging/vt6655/ioctl.c:424:49: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:424:49:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:424:49:got void *data
drivers/staging/vt6655/ioctl.c:440:49: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:440:49:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:440:49:got void *data
drivers/staging/vt6655/ioctl.c:457:49: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:457:49:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:457:49:got void *data
drivers/staging/vt6655/ioctl.c:479:54: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:479:54:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:479:54:got void *data
drivers/staging/vt6655/ioctl.c:563:38: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:563:38:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:563:38:got void *data
drivers/staging/vt6655/ioctl.c:571:52: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/vt6655/ioctl.c:571:52:expected void const [noderef] 
asn:1*from
drivers/staging/vt6655/ioctl.c:571:52:got void *data
drivers/staging/vt6655/ioctl.c:615:38: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/vt6655/ioctl.c:615:38:expected void [noderef] asn:1*to
drivers/staging/vt6655/ioctl.c:615:38:got void

[PATCH 1/1] drivers: staging: cxt1e1: linux.c - missing __user annotation

2014-07-27 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- Some of the functions internally call copy_{to,from}_user() but does
  not use '__user'. this patch fixes missing __user annotations.
- this patch fixes the following sparse errors:
drivers/staging/cxt1e1/linux.c:488:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:488:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:488:33:got void *data
drivers/staging/cxt1e1/linux.c:499:26: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/cxt1e1/linux.c:499:26:expected void [noderef] asn:1*to
drivers/staging/cxt1e1/linux.c:499:26:got void *data
drivers/staging/cxt1e1/linux.c:512:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:512:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:512:33:got void *data
drivers/staging/cxt1e1/linux.c:534:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:534:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:534:33:got void *data
drivers/staging/cxt1e1/linux.c:550:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:550:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:550:33:got void *data
drivers/staging/cxt1e1/linux.c:558:26: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/cxt1e1/linux.c:558:26:expected void [noderef] asn:1*to
drivers/staging/cxt1e1/linux.c:558:26:got void *data
drivers/staging/cxt1e1/linux.c:571:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:571:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:571:33:got void *data
drivers/staging/cxt1e1/linux.c:580:26: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/cxt1e1/linux.c:580:26:expected void [noderef] asn:1*to
drivers/staging/cxt1e1/linux.c:580:26:got void *data
drivers/staging/cxt1e1/linux.c:593:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:593:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:593:33:got void *data
drivers/staging/cxt1e1/linux.c:601:26: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/cxt1e1/linux.c:601:26:expected void [noderef] asn:1*to
drivers/staging/cxt1e1/linux.c:601:26:got void *data
drivers/staging/cxt1e1/linux.c:612:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:612:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:612:33:got void *data
drivers/staging/cxt1e1/linux.c:620:26: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/cxt1e1/linux.c:620:26:expected void [noderef] asn:1*to
drivers/staging/cxt1e1/linux.c:620:26:got void *data
drivers/staging/cxt1e1/linux.c:631:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:631:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:631:33:got void *data
drivers/staging/cxt1e1/linux.c:647:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:647:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:647:33:got void *data
drivers/staging/cxt1e1/linux.c:673:34: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:673:34:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:673:34:got void *data
drivers/staging/cxt1e1/linux.c:681:26: warning: incorrect type in argument 1 
(different address spaces)
drivers/staging/cxt1e1/linux.c:681:26:expected void [noderef] asn:1*to
drivers/staging/cxt1e1/linux.c:681:26:got void *data
drivers/staging/cxt1e1/linux.c:691:47: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:691:47:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:691:47:got void *data
drivers/staging/cxt1e1/linux.c:738:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:738:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:738:33:got void *data
drivers/staging/cxt1e1/linux.c:785:33: warning: incorrect type in argument 2 
(different address spaces)
drivers/staging/cxt1e1/linux.c:785:33:expected void const [noderef] 
asn:1*from
drivers/staging/cxt1e1/linux.c:785:33:got void *data
drivers/staging/cxt1e1/linux.c:839:14: warning: incorrect type in assignment 
(different address spaces)
drivers/staging/cxt1e1/linux.c:839:14:expected

[PATCH 2/2] staging: nokia_h4p: nokia_core.c - removed IRQF_DISABLED macro

2014-07-09 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this patch removes the IRQF_DISABLED macro, as this is
  deprecated/noop.

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/nokia_h4p/nokia_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/nokia_h4p/nokia_core.c 
b/drivers/staging/nokia_h4p/nokia_core.c
index 5e19cd6..840cc66 100644
--- a/drivers/staging/nokia_h4p/nokia_core.c
+++ b/drivers/staging/nokia_h4p/nokia_core.c
@@ -1141,7 +1141,7 @@ static int hci_h4p_probe(struct platform_device *pdev)
 
err = devm_request_irq(pdev-dev, gpio_to_irq(info-host_wakeup_gpio),
  hci_h4p_wakeup_interrupt,  IRQF_TRIGGER_FALLING |
- IRQF_TRIGGER_RISING | IRQF_DISABLED,
+ IRQF_TRIGGER_RISING,
  hci_h4p_wkup, info);
if (err  0) {
dev_err(info-dev, hci_h4p: unable to get wakeup IRQ %d\n,
-- 
1.9.1

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


[PATCH 1/2] staging: media: bcm2048: radio-bcm2048.c - removed IRQF_DISABLED macro

2014-07-09 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this patch removes IRQF_DISABLED macro, as this is
  deprecated/noop.

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/media/bcm2048/radio-bcm2048.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/media/bcm2048/radio-bcm2048.c 
b/drivers/staging/media/bcm2048/radio-bcm2048.c
index bbf236e..8760eca 100644
--- a/drivers/staging/media/bcm2048/radio-bcm2048.c
+++ b/drivers/staging/media/bcm2048/radio-bcm2048.c
@@ -2618,7 +2618,7 @@ static int bcm2048_i2c_driver_probe(struct i2c_client 
*client,
 
if (client-irq) {
err = request_irq(client-irq,
-   bcm2048_handler, IRQF_TRIGGER_FALLING | IRQF_DISABLED,
+   bcm2048_handler, IRQF_TRIGGER_FALLING,
client-name, bdev);
if (err  0) {
dev_err(client-dev, Could not request IRQ\n);
-- 
1.9.1

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


[PATCH 1/2] staging: rtl8723au: core: rtw_ap.c - removed NULL pointer check before kfree()

2014-07-09 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- as kfree() internally check for NULL, additional check it not
  required.

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/rtl8723au/core/rtw_ap.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c 
b/drivers/staging/rtl8723au/core/rtw_ap.c
index c8700b3..8714ae3 100644
--- a/drivers/staging/rtl8723au/core/rtw_ap.c
+++ b/drivers/staging/rtl8723au/core/rtw_ap.c
@@ -1270,8 +1270,7 @@ static void update_bcn_wps_ie(struct rtw_adapter 
*padapter)
pnetwork-IELength = wps_offset + (wps_ielen+2) + 
remainder_ielen;
}
 
-   if (pbackup_remainder_ie)
-   kfree(pbackup_remainder_ie);
+   kfree(pbackup_remainder_ie);
 }
 
 static void update_bcn_p2p_ie(struct rtw_adapter *padapter)
-- 
1.9.1

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


[PATCH 2/2] staging: rtl8723au: core: rtw_cmd.c - removed NULL pointer check before kfree()

2014-07-09 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- as kfree() internally checks for NULL, additional check it not
required.

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/rtl8723au/core/rtw_cmd.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_cmd.c 
b/drivers/staging/rtl8723au/core/rtw_cmd.c
index 1696cb8..b160780 100644
--- a/drivers/staging/rtl8723au/core/rtw_cmd.c
+++ b/drivers/staging/rtl8723au/core/rtw_cmd.c
@@ -516,8 +516,7 @@ int rtw_joinbss_cmd23a(struct rtw_adapter *padapter,
 
psecnetwork = psecuritypriv-sec_bss;
if (!psecnetwork) {
-   if (pcmd)
-   kfree(pcmd);
+   kfree(pcmd);
 
res = _FAIL;
 
-- 
1.9.1

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


[PATCH v2 1/1] staging: lustre: libcfs: nidstrings.c - use ARRAY_SIZE macro

2014-07-02 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this patch replaces sizeof(a)/sizeof(a[0]) with the ARRAY_SIZE macro
  to get the number of nidstrings (and netstrfns)
- v2: also for netstrfns

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/lustre/lustre/libcfs/nidstrings.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/lustre/lustre/libcfs/nidstrings.c 
b/drivers/staging/lustre/lustre/libcfs/nidstrings.c
index 87705ae..4fc7b45 100644
--- a/drivers/staging/lustre/lustre/libcfs/nidstrings.c
+++ b/drivers/staging/lustre/lustre/libcfs/nidstrings.c
@@ -74,8 +74,7 @@ libcfs_next_nidstring(void)
spin_lock_irqsave(libcfs_nidstring_lock, flags);
 
str = libcfs_nidstrings[libcfs_nidstring_idx++];
-   if (libcfs_nidstring_idx ==
-   sizeof(libcfs_nidstrings)/sizeof(libcfs_nidstrings[0]))
+   if (libcfs_nidstring_idx == ARRAY_SIZE(libcfs_nidstrings))
libcfs_nidstring_idx = 0;
 
spin_unlock_irqrestore(libcfs_nidstring_lock, flags);
@@ -198,7 +197,7 @@ static struct netstrfns  libcfs_netstrfns[] = {
{/* .nf_type  */  -1},
 };
 
-const int libcfs_nnetstrfns = 
sizeof(libcfs_netstrfns)/sizeof(libcfs_netstrfns[0]);
+const int libcfs_nnetstrfns = ARRAY_SIZE(libcfs_netstrfns);
 
 int
 libcfs_lo_str2addr(const char *str, int nob, __u32 *addr)
-- 
1.9.1

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


[PATCH 1/1] staging: speakup: main.c - use time_after()

2014-07-01 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this patch fixes jiffies comparision with a safer function to prevent
  any overflows

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/speakup/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
index 7de79d5..0cd3cdb 100644
--- a/drivers/staging/speakup/main.c
+++ b/drivers/staging/speakup/main.c
@@ -2067,7 +2067,7 @@ speakup_key(struct vc_data *vc, int shift_state, int 
keycode, u_short keysym,
if (up_flag)
goto out;
if (last_keycode == keycode 
-   last_spk_jiffy + MAX_DELAY  jiffies) {
+   time_after(last_spk_jiffy + MAX_DELAY, jiffies)) {
spk_close_press = 1;
offset = spk_shift_table[shift_info + 32];
/* double press? */
-- 
1.9.1

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


[PATCH 1/1] staging: speakup: speakup_dectlk.c - use time_before_eq()

2014-06-30 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this replaces jiffies comparision with safer function using
  time_after_eq()

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/speakup/speakup_dectlk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/speakup/speakup_dectlk.c 
b/drivers/staging/speakup/speakup_dectlk.c
index af84868..c07c967 100644
--- a/drivers/staging/speakup/speakup_dectlk.c
+++ b/drivers/staging/speakup/speakup_dectlk.c
@@ -267,7 +267,7 @@ static void do_catch_up(struct spk_synth *synth)
else if (ch = SPACE) {
if (!in_escape  strchr(,.!?;:, last))
spk_serial_out(PROCSPEECH);
-   if (jiffies = jiff_max) {
+   if (time_after_eq(jiffies, jiff_max)) {
if (!in_escape)
spk_serial_out(PROCSPEECH);
spin_lock_irqsave(speakup_info.spinlock,
-- 
1.9.1

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


[PATCH 1/1] staging: lustre: libcfs: nidstrings.c - use ARRAY_SIZE macro

2014-06-30 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this patch replaces sizeof(a)/sizeof(a[0]) with the ARRAY_SIZE macro
  to get the number of nidstrings

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/lustre/lustre/libcfs/nidstrings.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lustre/libcfs/nidstrings.c 
b/drivers/staging/lustre/lustre/libcfs/nidstrings.c
index 87705ae..13a2791 100644
--- a/drivers/staging/lustre/lustre/libcfs/nidstrings.c
+++ b/drivers/staging/lustre/lustre/libcfs/nidstrings.c
@@ -74,8 +74,7 @@ libcfs_next_nidstring(void)
spin_lock_irqsave(libcfs_nidstring_lock, flags);
 
str = libcfs_nidstrings[libcfs_nidstring_idx++];
-   if (libcfs_nidstring_idx ==
-   sizeof(libcfs_nidstrings)/sizeof(libcfs_nidstrings[0]))
+   if (libcfs_nidstring_idx == ARRAY_SIZE(libcfs_nidstrings))
libcfs_nidstring_idx = 0;
 
spin_unlock_irqrestore(libcfs_nidstring_lock, flags);
-- 
1.9.1

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


[PATCH v2 1/1] staging: lustre: lnet: api-ni.c: fixed sparse warnings

2014-06-28 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this fixes few sparse warnings for missing static in functions:

drivers/staging/lustre/lnet/lnet/api-ni.c:63:6: warning: symbol 
'lnet_get_routes' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:69:6: warning: symbol 
'lnet_get_networks' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:93:1: warning: symbol 
'lnet_init_locks' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:102:1: warning: symbol 
'lnet_fini_locks' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:180:6: warning: symbol 
'lnet_assert_wire_constants' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:273:7: warning: symbol 
'lnet_find_lnd_by_type' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:419:1: warning: symbol 
'lnet_create_interface_cookie' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:450:1: warning: symbol 
'lnet_res_container_cleanup' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:494:1: warning: symbol 
'lnet_res_container_setup' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:612:1: warning: symbol 'lnet_prepare' 
was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:917:1: warning: symbol 
'lnet_shutdown_lndnis' was not declared. Should it be static?
drivers/staging/lustre/lnet/lnet/api-ni.c:1034:1: warning: symbol 
'lnet_startup_lndnis' was not declared. Should it be static?

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/lustre/lnet/lnet/api-ni.c | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/lustre/lnet/lnet/api-ni.c 
b/drivers/staging/lustre/lnet/lnet/api-ni.c
index 3f878de..cd6792e 100644
--- a/drivers/staging/lustre/lnet/lnet/api-ni.c
+++ b/drivers/staging/lustre/lnet/lnet/api-ni.c
@@ -60,13 +60,13 @@ static int rnet_htable_size = LNET_REMOTE_NETS_HASH_DEFAULT;
 module_param(rnet_htable_size, int, 0444);
 MODULE_PARM_DESC(rnet_htable_size, size of remote network hash table);
 
-char *
+static char *
 lnet_get_routes(void)
 {
return routes;
 }
 
-char *
+static char *
 lnet_get_networks(void)
 {
char   *nets;
@@ -89,7 +89,7 @@ lnet_get_networks(void)
return tcp;
 }
 
-void
+static void
 lnet_init_locks(void)
 {
spin_lock_init(the_lnet.ln_eq_wait_lock);
@@ -98,7 +98,7 @@ lnet_init_locks(void)
mutex_init(the_lnet.ln_api_mutex);
 }
 
-void
+static void
 lnet_fini_locks(void)
 {
 }
@@ -177,7 +177,7 @@ lnet_create_locks(void)
return -ENOMEM;
 }
 
-void lnet_assert_wire_constants (void)
+static void lnet_assert_wire_constants (void)
 {
/* Wire protocol assertions generated by 'wirecheck'
 * running on Linux robert.bartonsoftware.com 2.6.8-1.521
@@ -270,7 +270,7 @@ void lnet_assert_wire_constants (void)
CLASSERT ((int)sizeof(((lnet_hdr_t *)0)-msg.hello.type) == 4);
 }
 
-lnd_t *
+static lnd_t *
 lnet_find_lnd_by_type (int type)
 {
lnd_t *lnd;
@@ -415,7 +415,7 @@ lnet_freelist_fini (lnet_freelist_t *fl)
 
 #endif /* LNET_USE_LIB_FREELIST */
 
-__u64
+static __u64
 lnet_create_interface_cookie (void)
 {
/* NB the interface cookie in wire handles guards against delayed
@@ -446,7 +446,7 @@ lnet_res_type2str(int type)
}
 }
 
-void
+static void
 lnet_res_container_cleanup(struct lnet_res_container *rec)
 {
int count = 0;
@@ -490,7 +490,7 @@ lnet_res_container_cleanup(struct lnet_res_container *rec)
rec-rec_type = 0; /* mark it as finalized */
 }
 
-int
+static int
 lnet_res_container_setup(struct lnet_res_container *rec,
 int cpt, int type, int objnum, int objsz)
 {
@@ -608,7 +608,7 @@ lnet_res_lh_initialize(struct lnet_res_container *rec, 
lnet_libhandle_t *lh)
 
 int lnet_unprepare(void);
 
-int
+static int
 lnet_prepare(lnet_pid_t requested_pid)
 {
/* Prepare to bring up the network */
@@ -913,7 +913,7 @@ lnet_ni_tq_credits(lnet_ni_t *ni)
return credits;
 }
 
-void
+static void
 lnet_shutdown_lndnis (void)
 {
int i;
@@ -1030,7 +1030,7 @@ lnet_shutdown_lndnis (void)
}
 }
 
-int
+static int
 lnet_startup_lndnis (void)
 {
lnd_t   *lnd;
-- 
1.9.1

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


[PATCH 1/1] staging: media: msi3101: sdr-msi3101.c - replace with time_before_eq()

2014-06-28 Thread Anil Belur
From: Anil Belur ask...@gmail.com

- this fix replaces jiffies interval comparision with safer function to
  avoid any overflow and wrap around ?

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/media/msi3101/sdr-msi3101.c | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/media/msi3101/sdr-msi3101.c 
b/drivers/staging/media/msi3101/sdr-msi3101.c
index 08d0d09..b828857 100644
--- a/drivers/staging/media/msi3101/sdr-msi3101.c
+++ b/drivers/staging/media/msi3101/sdr-msi3101.c
@@ -180,6 +180,7 @@ static int msi3101_convert_stream_504(struct msi3101_state 
*s, u8 *dst,
 {
int i, i_max, dst_len = 0;
u32 sample_num[3];
+   unsigned long expires;
 
/* There could be 1-3 1024 bytes URB frames */
i_max = src_len / 1024;
@@ -208,7 +209,8 @@ static int msi3101_convert_stream_504(struct msi3101_state 
*s, u8 *dst,
}
 
/* calculate samping rate and output it in 10 seconds intervals */
-   if ((s-jiffies_next + msecs_to_jiffies(1)) = jiffies) {
+   expires = s-jiffies_next + msecs_to_jiffies(1);
+   if (time_before_eq(expires, jiffies)) {
unsigned long jiffies_now = jiffies;
unsigned long msecs = jiffies_to_msecs(jiffies_now) - 
jiffies_to_msecs(s-jiffies_next);
unsigned int samples = sample_num[i_max - 1] - s-sample;
@@ -332,6 +334,7 @@ static int msi3101_convert_stream_384(struct msi3101_state 
*s, u8 *dst,
 {
int i, i_max, dst_len = 0;
u32 sample_num[3];
+   unsigned long expires;
 
/* There could be 1-3 1024 bytes URB frames */
i_max = src_len / 1024;
@@ -360,7 +363,8 @@ static int msi3101_convert_stream_384(struct msi3101_state 
*s, u8 *dst,
}
 
/* calculate samping rate and output it in 10 seconds intervals */
-   if ((s-jiffies_next + msecs_to_jiffies(1)) = jiffies) {
+   expires = s-jiffies_next + msecs_to_jiffies(1);
+   if (time_before_eq(expires, jiffies)) {
unsigned long jiffies_now = jiffies;
unsigned long msecs = jiffies_to_msecs(jiffies_now) - 
jiffies_to_msecs(s-jiffies_next);
unsigned int samples = sample_num[i_max - 1] - s-sample;
@@ -397,6 +401,7 @@ static int msi3101_convert_stream_336(struct msi3101_state 
*s, u8 *dst,
 {
int i, i_max, dst_len = 0;
u32 sample_num[3];
+   unsigned long expires;
 
/* There could be 1-3 1024 bytes URB frames */
i_max = src_len / 1024;
@@ -425,7 +430,8 @@ static int msi3101_convert_stream_336(struct msi3101_state 
*s, u8 *dst,
}
 
/* calculate samping rate and output it in 10 seconds intervals */
-   if ((s-jiffies_next + msecs_to_jiffies(1)) = jiffies) {
+   expires = s-jiffies_next + msecs_to_jiffies(1);
+   if (time_before_eq(expires, jiffies)) {
unsigned long jiffies_now = jiffies;
unsigned long msecs = jiffies_to_msecs(jiffies_now) - 
jiffies_to_msecs(s-jiffies_next);
unsigned int samples = sample_num[i_max - 1] - s-sample;
@@ -460,6 +466,7 @@ static int msi3101_convert_stream_252(struct msi3101_state 
*s, u8 *dst,
 {
int i, i_max, dst_len = 0;
u32 sample_num[3];
+   unsigned long expires;
 
/* There could be 1-3 1024 bytes URB frames */
i_max = src_len / 1024;
@@ -488,7 +495,8 @@ static int msi3101_convert_stream_252(struct msi3101_state 
*s, u8 *dst,
}
 
/* calculate samping rate and output it in 10 seconds intervals */
-   if ((s-jiffies_next + msecs_to_jiffies(1)) = jiffies) {
+   expires = s-jiffies_next + msecs_to_jiffies(1);
+   if (time_before_eq(expires, jiffies)) {
unsigned long jiffies_now = jiffies;
unsigned long msecs = jiffies_to_msecs(jiffies_now) - 
jiffies_to_msecs(s-jiffies_next);
unsigned int samples = sample_num[i_max - 1] - s-sample;
-- 
1.9.1

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


[PATCH 1/1] staging: ozwpan: ozproto.c fix for WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)

2014-05-19 Thread Anil Belur
From: Anil Belur ask...@gmail.com

Fixed the warning message by replacing memcpy() with ether_addr_copy()

Signed-off-by: Anil Belur ask...@gmail.com
---
 drivers/staging/ozwpan/ozproto.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/ozwpan/ozproto.c b/drivers/staging/ozwpan/ozproto.c
index f09acd0..1c80132 100644
--- a/drivers/staging/ozwpan/ozproto.c
+++ b/drivers/staging/ozwpan/ozproto.c
@@ -792,7 +792,7 @@ int oz_get_pd_list(struct oz_mac_addr *addr, int max_count)
if (count = max_count)
break;
pd = container_of(e, struct oz_pd, link);
-   memcpy(addr[count++], pd-mac_addr, ETH_ALEN);
+   ether_addr_copy((u8 *)addr[count++], pd-mac_addr);
}
spin_unlock_bh(g_polling_lock);
return count;
-- 
1.9.0

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