[PATCH -next] staging: sb105x: fix potential NULL pointer dereference in mp_chars_in_buffer()

2012-11-28 Thread Wei Yongjun
From: Wei Yongjun 

The dereference to 'state' should be moved below the NULL test.

Signed-off-by: Wei Yongjun 
---
 drivers/staging/sb105x/sb_pci_mp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/sb105x/sb_pci_mp.c 
b/drivers/staging/sb105x/sb_pci_mp.c
index fbebf88..edb2a85 100644
--- a/drivers/staging/sb105x/sb_pci_mp.c
+++ b/drivers/staging/sb105x/sb_pci_mp.c
@@ -689,13 +689,14 @@ static int mp_chars_in_buffer(struct tty_struct *tty)
 static void mp_flush_buffer(struct tty_struct *tty)
 {
struct sb_uart_state *state = tty->driver_data;
-   struct sb_uart_port *port = state->port;
+   struct sb_uart_port *port;
unsigned long flags;
 
if (!state || !state->info) {
return;
}
 
+   port = state->port;
spin_lock_irqsave(&port->lock, flags);
uart_circ_clear(&state->info->xmit);
spin_unlock_irqrestore(&port->lock, flags);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] UBIFS: fix missing unlock on error in ubifs_remount_rw()

2013-03-17 Thread Wei Yongjun
From: Wei Yongjun 

Add the missing unlock before return from function ubifs_remount_rw()
in the error handling case.

Signed-off-by: Wei Yongjun 
---
 fs/ubifs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index f21acf0..9791b3c 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -1571,7 +1571,7 @@ static int ubifs_remount_rw(struct ubifs_info *c)
if (c->space_fixup) {
err = ubifs_fixup_free_space(c);
if (err)
-   return err;
+   goto out;
}
 
err = check_free_space(c);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] mtip32xx: fix error return code in mtip_pci_probe()

2013-03-20 Thread Wei Yongjun
From: Wei Yongjun 

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

Signed-off-by: Wei Yongjun 
---
 drivers/block/mtip32xx/mtip32xx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/block/mtip32xx/mtip32xx.c 
b/drivers/block/mtip32xx/mtip32xx.c
index b84dda5..044c781 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -4234,6 +4234,7 @@ static int mtip_pci_probe(struct pci_dev *pdev,
dd->isr_workq = create_workqueue(dd->workq_name);
if (!dd->isr_workq) {
dev_warn(&pdev->dev, "Can't create wq %d\n", dd->instance);
+   rv = -ENOMEM;
goto block_initialize_err;
}
 
@@ -4292,7 +4293,8 @@ static int mtip_pci_probe(struct pci_dev *pdev,
INIT_WORK(&dd->work[7].work, mtip_workq_sdbf7);
 
pci_set_master(pdev);
-   if (pci_enable_msi(pdev)) {
+   rv = pci_enable_msi(pdev);
+   if (rv) {
dev_warn(&pdev->dev,
"Unable to enable MSI interrupt.\n");
goto block_initialize_err;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] Drivers: hv: balloon: make local functions static

2013-03-20 Thread Wei Yongjun
From: Wei Yongjun 

local functions that could be static.

Signed-off-by: Wei Yongjun 
---
 drivers/hv/hv_balloon.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index 2cf7d4e..d522526 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -537,7 +537,7 @@ static struct hv_dynmem_device dm_device;
 
 #ifdef CONFIG_MEMORY_HOTPLUG
 
-void hv_bring_pgs_online(unsigned long start_pfn, unsigned long size)
+static void hv_bring_pgs_online(unsigned long start_pfn, unsigned long size)
 {
int i;
 
@@ -876,7 +876,7 @@ static void process_info(struct hv_dynmem_device *dm, 
struct dm_info_msg *msg)
}
 }
 
-unsigned long compute_balloon_floor(void)
+static unsigned long compute_balloon_floor(void)
 {
unsigned long min_pages;
 #define MB2PAGES(mb) ((mb) << (20 - PAGE_SHIFT))


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] mxs/spi: fix error return code in mxs_spi_probe()

2013-04-03 Thread Wei Yongjun
From: Wei Yongjun 

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

Signed-off-by: Wei Yongjun 
---
 drivers/spi/spi-mxs.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c
index 7b1c014..8498276 100644
--- a/drivers/spi/spi-mxs.c
+++ b/drivers/spi/spi-mxs.c
@@ -570,6 +570,7 @@ static int mxs_spi_probe(struct platform_device *pdev)
ssp->dmach = dma_request_slave_channel(&pdev->dev, "rx-tx");
if (!ssp->dmach) {
dev_err(ssp->dev, "Failed to request DMA\n");
+   ret = -ENODEV;
goto out_master_free;
}
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] audit: remove duplicated include from audit.c

2013-04-03 Thread Wei Yongjun
From: Wei Yongjun 

Remove duplicated include.

Signed-off-by: Wei Yongjun 
---
 kernel/audit.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/audit.c b/kernel/audit.c
index 488f85f..9377913 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -58,7 +58,6 @@
 #ifdef CONFIG_SECURITY
 #include 
 #endif
-#include 
 #include 
 #include 
 #include 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] drbd: fix error return code in drbd_init()

2013-04-03 Thread Wei Yongjun
From: Wei Yongjun 

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

Signed-off-by: Wei Yongjun 
---
 drivers/block/drbd/drbd_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index 1b93a726..768bca9 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -2777,6 +2777,7 @@ int __init drbd_init(void)
drbd_proc = proc_create_data("drbd", S_IFREG | S_IRUGO , NULL, 
&drbd_proc_fops, NULL);
if (!drbd_proc) {
printk(KERN_ERR "drbd: unable to register proc file\n");
+   err = -ENOMEM;
goto fail;
}
 
@@ -2786,6 +2787,7 @@ int __init drbd_init(void)
retry.wq = create_singlethread_workqueue("drbd-reissue");
if (!retry.wq) {
printk(KERN_ERR "drbd: unable to create retry workqueue\n");
+   err = -ENOMEM;
goto fail;
}
INIT_WORK(&retry.worker, do_retry);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] virtio_console: make local symbols static

2013-04-05 Thread Wei Yongjun
From: Wei Yongjun 

Those symbols only used within this file, and should be static.

Signed-off-by: Wei Yongjun 
---
 drivers/char/virtio_console.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 13ad9b1..f73ad64 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -78,8 +78,8 @@ struct ports_driver_data {
 };
 static struct ports_driver_data pdrvdata;
 
-DEFINE_SPINLOCK(pdrvdata_lock);
-DECLARE_COMPLETION(early_console_added);
+static DEFINE_SPINLOCK(pdrvdata_lock);
+static DECLARE_COMPLETION(early_console_added);
 
 /* This struct holds information that's relevant only for console ports */
 struct console {
@@ -1202,7 +1202,7 @@ int __init virtio_cons_early_init(int (*put_chars)(u32, 
const char *, int))
return hvc_instantiate(0, 0, &hv_ops);
 }
 
-int init_port_console(struct port *port)
+static int init_port_console(struct port *port)
 {
int ret;
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next v2] drbd: fix error return code in drbd_init()

2013-04-05 Thread Wei Yongjun
From: Wei Yongjun 

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

Signed-off-by: Wei Yongjun 
---
 drivers/block/drbd/drbd_main.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index 1b93a726..93b3505 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -2763,8 +2763,6 @@ int __init drbd_init(void)
/*
 * allocate all necessary structs
 */
-   err = -ENOMEM;
-
init_waitqueue_head(&drbd_pp_wait);
 
drbd_proc = NULL; /* play safe for drbd_cleanup */
@@ -2774,6 +2772,7 @@ int __init drbd_init(void)
if (err)
goto fail;
 
+   err = -ENOMEM;
drbd_proc = proc_create_data("drbd", S_IFREG | S_IRUGO , NULL, 
&drbd_proc_fops, NULL);
if (!drbd_proc) {
printk(KERN_ERR "drbd: unable to register proc file\n");
@@ -2804,7 +2803,6 @@ int __init drbd_init(void)
 fail:
drbd_cleanup();
if (err == -ENOMEM)
-   /* currently always the case */
printk(KERN_ERR "drbd: ran out of memory\n");
else
printk(KERN_ERR "drbd: initialization failure\n");

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] PM / devfreq: fix missing unlock on error in exynos4_busfreq_pm_notifier_event()

2013-02-21 Thread Wei Yongjun
From: Wei Yongjun 

Add the missing unlock before return from function
exynos4_busfreq_pm_notifier_event() in the error
handling case.

This issue introduced by commit 8fa938
(PM / devfreq: exynos4_bus: honor RCU lock usage)

Signed-off-by: Wei Yongjun 
---
 drivers/devfreq/exynos4_bus.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/devfreq/exynos4_bus.c b/drivers/devfreq/exynos4_bus.c
index 46d94e9..6208a68 100644
--- a/drivers/devfreq/exynos4_bus.c
+++ b/drivers/devfreq/exynos4_bus.c
@@ -974,6 +974,7 @@ static int exynos4_busfreq_pm_notifier_event(struct 
notifier_block *this,
rcu_read_unlock();
dev_err(data->dev, "%s: unable to find a min freq\n",
__func__);
+   mutex_unlock(&data->lock);
return PTR_ERR(opp);
}
new_oppinfo.rate = opp_get_freq(opp);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] pinctrl: exynos5440: fix invalid use of sizeof in exynos5440_pinctrl_probe()

2013-03-14 Thread Wei Yongjun
From: Wei Yongjun 

sizeof() when applied to a pointer typed expression gives the
size of the pointer, not that of the pointed data.

Signed-off-by: Wei Yongjun 
---
 drivers/pinctrl/pinctrl-exynos5440.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-exynos5440.c 
b/drivers/pinctrl/pinctrl-exynos5440.c
index 1376eb7..fe65739 100644
--- a/drivers/pinctrl/pinctrl-exynos5440.c
+++ b/drivers/pinctrl/pinctrl-exynos5440.c
@@ -854,7 +854,7 @@ static int exynos5440_pinctrl_probe(struct platform_device 
*pdev)
return -ENODEV;
}
 
-   priv = devm_kzalloc(dev, sizeof(priv), GFP_KERNEL);
+   priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
if (!priv) {
dev_err(dev, "could not allocate memory for private data\n");
return -ENOMEM;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] xtensa: net: fix invalid use of sizeof in iss_net_setup()

2013-03-14 Thread Wei Yongjun
From: Wei Yongjun 

sizeof() when applied to a pointer typed expression gives the
size of the pointer, not that of the pointed data.

Signed-off-by: Wei Yongjun 
---
 arch/xtensa/platforms/iss/network.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/xtensa/platforms/iss/network.c 
b/arch/xtensa/platforms/iss/network.c
index 7d0fea6..da56fec 100644
--- a/arch/xtensa/platforms/iss/network.c
+++ b/arch/xtensa/platforms/iss/network.c
@@ -737,7 +737,7 @@ static int iss_net_setup(char *str)
return 1;
}
 
-   if ((new = alloc_bootmem(sizeof new)) == NULL) {
+   if ((new = alloc_bootmem(sizeof(*new)) == NULL) {
printk("Alloc_bootmem failed\n");
return 1;
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] Staging: netlogic: remove unused variable in xlr_net_start_xmit()

2013-03-14 Thread Wei Yongjun
From: Wei Yongjun 

The variable 'qmap' is initialized but never used
otherwise, so remove the unused variable.

Signed-off-by: Wei Yongjun 
---
 drivers/staging/netlogic/xlr_net.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/staging/netlogic/xlr_net.c 
b/drivers/staging/netlogic/xlr_net.c
index efc6172..dd98cb1 100644
--- a/drivers/staging/netlogic/xlr_net.c
+++ b/drivers/staging/netlogic/xlr_net.c
@@ -293,10 +293,8 @@ static netdev_tx_t xlr_net_start_xmit(struct sk_buff *skb,
struct nlm_fmn_msg msg;
struct xlr_net_priv *priv = netdev_priv(ndev);
int ret;
-   u16 qmap;
u32 flags;
 
-   qmap = skb->queue_mapping;
xlr_make_tx_desc(&msg, virt_to_phys(skb->data), skb);
flags = nlm_cop2_enable();
ret = nlm_fmn_send(2, 0, priv->nd->tx_stnid, &msg);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] cciss: fix invalid use of sizeof in cciss_find_cfgtables()

2013-03-14 Thread Wei Yongjun
From: Wei Yongjun 

sizeof() when applied to a pointer typed expression gives the
size of the pointer, not that of the pointed data.

Signed-off-by: Wei Yongjun 
---
 drivers/block/cciss.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index ade58bc..1c1b8e5 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -4206,7 +4206,7 @@ static int cciss_find_cfgtables(ctlr_info_t *h)
if (rc)
return rc;
h->cfgtable = remap_pci_mem(pci_resource_start(h->pdev,
-   cfg_base_addr_index) + cfg_offset, sizeof(h->cfgtable));
+   cfg_base_addr_index) + cfg_offset, sizeof(*h->cfgtable));
if (!h->cfgtable)
return -ENOMEM;
rc = write_driver_ver_to_cfgtable(h->cfgtable);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: rtl8192e: remove pointless conditional before kfree_skb()

2012-08-28 Thread Wei Yongjun
From: Wei Yongjun 

Remove pointless conditional before kfree_skb().

Signed-off-by: Wei Yongjun 
---
 drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c 
b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
index 4f602b2..7e260b9 100644
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
@@ -734,8 +734,7 @@ static void rtl8192_prepare_beacon(struct r8192_priv *priv)
 
ring = &priv->tx_ring[BEACON_QUEUE];
pskb = __skb_dequeue(&ring->queue);
-   if (pskb)
-   kfree_skb(pskb);
+   kfree_skb(pskb);
 
pnewskb = rtllib_get_beacon(priv->rtllib);
if (!pnewskb)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: ozwpan: remove pointless conditional before kfree_skb()

2012-08-28 Thread Wei Yongjun
From: Wei Yongjun 

Remove pointless conditional before kfree_skb().

Signed-off-by: Wei Yongjun 
---
 drivers/staging/ozwpan/ozpd.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/ozwpan/ozpd.c b/drivers/staging/ozwpan/ozpd.c
index 6c287ac..d515714 100644
--- a/drivers/staging/ozwpan/ozpd.c
+++ b/drivers/staging/ozwpan/ozpd.c
@@ -752,8 +752,7 @@ int oz_isoc_stream_create(struct oz_pd *pd, u8 ep_num)
  */
 static void oz_isoc_stream_free(struct oz_isoc_stream *st)
 {
-   if (st->skb)
-   kfree_skb(st->skb);
+   kfree_skb(st->skb);
kfree(st);
 }
 
/*--

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] audit: remove pointless conditional before kfree_skb()

2012-08-28 Thread Wei Yongjun
From: Wei Yongjun 

Remove pointless conditional before kfree_skb().

Signed-off-by: Wei Yongjun 
---
 kernel/audit.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/audit.c b/kernel/audit.c
index ea3b7b6..ba9dd4d 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1024,8 +1024,7 @@ static void audit_buffer_free(struct audit_buffer *ab)
if (!ab)
return;
 
-   if (ab->skb)
-   kfree_skb(ab->skb);
+   kfree_skb(ab->skb);
 
spin_lock_irqsave(&audit_freelist_lock, flags);
if (audit_freelist_count > AUDIT_MAXFREE)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] kdb: fix possible memory leak in kdb_defcmd2()

2012-09-02 Thread Wei Yongjun
From: Wei Yongjun 

In the error handling case of kdb_defcmd2() s->command has
been set to NULL but the save_command remain no free, this will
cause memory leak.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 kernel/debug/kdb/kdb_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
index 31df170..0cbe79f 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
@@ -651,6 +651,7 @@ static int kdb_defcmd2(const char *cmdstr, const char 
*argv0)
kdb_printf("Could not allocate new kdb_defcmd table for %s\n",
   cmdstr);
s->usable = 0;
+   kfree(save_command);
return KDB_NOTIMP;
}
memcpy(s->command, save_command, s->count * sizeof(*(s->command)));


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ALSA: fix possible memory leak in snd_mixer_oss_build_input()

2012-09-02 Thread Wei Yongjun
From: Wei Yongjun 

uinfo has been allocated in this function and should be
freed before leaving from the error handling cases.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 sound/core/oss/mixer_oss.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c
index 18297f7..29f6ded 100644
--- a/sound/core/oss/mixer_oss.c
+++ b/sound/core/oss/mixer_oss.c
@@ -1046,6 +1046,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss 
*mixer, struct snd_mix

if (kctl->info(kctl, uinfo)) {
up_read(&mixer->card->controls_rwsem);
+   kfree(uinfo);
return 0;
}
strcpy(str, ptr->name);
@@ -1061,6 +1062,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss 
*mixer, struct snd_mix
uinfo->value.enumerated.item = 
slot.capture_item;
if (kctl->info(kctl, uinfo)) {
up_read(&mixer->card->controls_rwsem);
+   kfree(uinfo);
return 0;
}
if (!strcmp(uinfo->value.enumerated.name, str)) 
{


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] mtd: fix possible memory leak in logfs_mtd_can_write_buf()

2012-09-02 Thread Wei Yongjun
From: Wei Yongjun 

buf has been allocated in this function and should be
freed before leaving from the error handling case.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 fs/logfs/dev_mtd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/logfs/dev_mtd.c b/fs/logfs/dev_mtd.c
index 9c50144..427bb73 100644
--- a/fs/logfs/dev_mtd.c
+++ b/fs/logfs/dev_mtd.c
@@ -245,8 +245,8 @@ static int logfs_mtd_can_write_buf(struct super_block *sb, 
u64 ofs)
goto out;
if (memchr_inv(buf, 0xff, super->s_writesize))
err = -EIO;
-   kfree(buf);
 out:
+   kfree(buf);
return err;
 }
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Staging: bcm: fix possible memory leak in bcm_char_ioctl()

2012-09-03 Thread Wei Yongjun
From: Wei Yongjun 

psFwInfo has been allocated in this function and should be
freed before leaving from the error handling cases.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/bcm/Bcmchar.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/staging/bcm/Bcmchar.c b/drivers/staging/bcm/Bcmchar.c
index cf411d1..3d02c2e 100644
--- a/drivers/staging/bcm/Bcmchar.c
+++ b/drivers/staging/bcm/Bcmchar.c
@@ -820,6 +820,7 @@ cntrlEnd:
 
if (copy_from_user(psFwInfo, IoBuffer.InputBuffer, 
IoBuffer.InputLength)) {
up(&Adapter->fw_download_sema);
+   kfree(psFwInfo);
return -EFAULT;
}
 
@@ -829,6 +830,7 @@ cntrlEnd:
BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, 
"Something else is wrong %lu\n",
psFwInfo->u32FirmwareLength);
up(&Adapter->fw_download_sema);
+   kfree(psFwInfo);
Status = -EINVAL;
return Status;
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] parport: fix possible memory leak in parport_gsc_probe_port()

2012-09-03 Thread Wei Yongjun
From: Wei Yongjun 

ops has been allocated in this function and should be freed
before leaving from the error handling cases.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/parport/parport_gsc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/parport/parport_gsc.c b/drivers/parport/parport_gsc.c
index 5d6de38..352f961 100644
--- a/drivers/parport/parport_gsc.c
+++ b/drivers/parport/parport_gsc.c
@@ -271,6 +271,7 @@ struct parport *__devinit parport_gsc_probe_port (unsigned 
long base,
if (!parport_SPP_supported (p)) {
/* No port. */
kfree (priv);
+   kfree(ops);
return NULL;
}
parport_PS2_supported (p);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: csr: fix possible memory leak in do_patch_convert_download()

2012-09-03 Thread Wei Yongjun
From: Wei Yongjun 

pfw has been allocated in function xbv_to_patch() and should be
freed before leaving from the error handling cases.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/csr/csr_wifi_hip_download.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/staging/csr/csr_wifi_hip_download.c 
b/drivers/staging/csr/csr_wifi_hip_download.c
index 8e4a460..6db672c 100644
--- a/drivers/staging/csr/csr_wifi_hip_download.c
+++ b/drivers/staging/csr/csr_wifi_hip_download.c
@@ -250,6 +250,7 @@ static CsrResult do_patch_convert_download(card_t *card, 
void *dlpriv, xbv1_t *p
 if (r != CSR_RESULT_SUCCESS)
 {
 unifi_error(card->ospriv, "Failed to find BOOT_LOADER_CONTROL\n");
+kfree(pfw);
 return CSR_RESULT_FAILURE;
 }
 
@@ -265,6 +266,7 @@ static CsrResult do_patch_convert_download(card_t *card, 
void *dlpriv, xbv1_t *p
 desc = unifi_fw_open_buffer(card->ospriv, pfw, psize);
 if (!desc)
 {
+kfree(pfw);
 return CSR_WIFI_HIP_RESULT_NO_MEMORY;
 }
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ALSA: use list_move_tail instead of list_del/list_add_tail

2012-09-04 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move_tail() instead of list_del() + list_add_tail().

Signed-off-by: Wei Yongjun 
---
 sound/drivers/opl4/opl4_synth.c | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/sound/drivers/opl4/opl4_synth.c b/sound/drivers/opl4/opl4_synth.c
index 49b9e24..4b91adc 100644
--- a/sound/drivers/opl4/opl4_synth.c
+++ b/sound/drivers/opl4/opl4_synth.c
@@ -504,8 +504,7 @@ void snd_opl4_note_on(void *private_data, int note, int 
vel, struct snd_midi_cha
spin_lock_irqsave(&opl4->reg_lock, flags);
for (i = 0; i < voices; i++) {
voice[i] = snd_opl4_get_voice(opl4);
-   list_del(&voice[i]->list);
-   list_add_tail(&voice[i]->list, &opl4->on_voices);
+   list_move_tail(&voice[i]->list, &opl4->on_voices);
voice[i]->chan = chan;
voice[i]->note = note;
voice[i]->velocity = vel & 0x7f;
@@ -555,8 +554,7 @@ void snd_opl4_note_on(void *private_data, int note, int 
vel, struct snd_midi_cha
 
 static void snd_opl4_voice_off(struct snd_opl4 *opl4, struct opl4_voice *voice)
 {
-   list_del(&voice->list);
-   list_add_tail(&voice->list, &opl4->off_voices);
+   list_move_tail(&voice->list, &opl4->off_voices);
 
voice->reg_misc &= ~OPL4_KEY_ON_BIT;
snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc);
@@ -571,8 +569,7 @@ void snd_opl4_note_off(void *private_data, int note, int 
vel, struct snd_midi_ch
 
 static void snd_opl4_terminate_voice(struct snd_opl4 *opl4, struct opl4_voice 
*voice)
 {
-   list_del(&voice->list);
-   list_add_tail(&voice->list, &opl4->off_voices);
+   list_move_tail(&voice->list, &opl4->off_voices);
 
voice->reg_misc = (voice->reg_misc & ~OPL4_KEY_ON_BIT) | OPL4_DAMP_BIT;
snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] mm: use list_move_tail instead of list_del/list_add_tail

2012-09-04 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move_tail() instead of list_del() + list_add_tail().

Signed-off-by: Wei Yongjun 
---
 mm/rmap.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/rmap.c b/mm/rmap.c
index 0f3b7cd..6333654 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -307,8 +307,7 @@ void anon_vma_moveto_tail(struct vm_area_struct *dst)
struct anon_vma *anon_vma = pavc->anon_vma;
VM_BUG_ON(pavc->vma != dst);
root = lock_anon_vma_root(root, anon_vma);
-   list_del(&pavc->same_anon_vma);
-   list_add_tail(&pavc->same_anon_vma, &anon_vma->head);
+   list_move_tail(&pavc->same_anon_vma, &anon_vma->head);
}
unlock_anon_vma_root(root);
 }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: ozwpan: use list_move_tail instead of list_del/list_add_tail

2012-09-04 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/ozwpan/ozhcd.c | 15 +--
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c
index 251f07c..ba9ac93 100644
--- a/drivers/staging/ozwpan/ozhcd.c
+++ b/drivers/staging/ozwpan/ozhcd.c
@@ -1014,8 +1014,7 @@ int oz_hcd_heartbeat(void *hport)
ep->credit -= urb->number_of_packets;
oz_event_log(OZ_EVT_EP_CREDIT, ep->ep_num, 0, 0,
ep->credit);
-   list_del(&urbl->link);
-   list_add_tail(&urbl->link, &xfr_list);
+   list_move_tail(&urbl->link, &xfr_list);
}
}
spin_unlock_bh(&ozhcd->hcd_lock);
@@ -1096,8 +1095,7 @@ int oz_hcd_heartbeat(void *hport)
urb->error_count = 0;
urb->start_frame = ep->start_frame;
ep->start_frame += urb->number_of_packets;
-   list_del(&urbl->link);
-   list_add_tail(&urbl->link, &xfr_list);
+   list_move_tail(&urbl->link, &xfr_list);
ep->credit -= urb->number_of_packets;
oz_event_log(OZ_EVT_EP_CREDIT, ep->ep_num | USB_DIR_IN,
0, 0, ep->credit);
@@ -1129,8 +1127,7 @@ int oz_hcd_heartbeat(void *hport)
oz_trace("%ld: Request 0x%p timeout\n",
now, urbl->urb);
urbl->submit_jiffies = now;
-   list_del(e);
-   list_add_tail(e, &xfr_list);
+   list_move_tail(e, &xfr_list);
}
}
if (!list_empty(&ep->urb_list))
@@ -1247,16 +1244,14 @@ static void oz_clean_endpoints_for_interface(struct 
usb_hcd *hcd,
port->out_ep[i] = 0;
/* Remove from isoc list if present.
 */
-   list_del(e);
-   list_add_tail(e, &ep_list);
+   list_move_tail(e, &ep_list);
}
/* Gather IN endpoints.
 */
if ((mask & (1<<(i+OZ_NB_ENDPOINTS))) && port->in_ep[i]) {
e = &port->in_ep[i]->link;
port->in_ep[i] = 0;
-   list_del(e);
-   list_add_tail(e, &ep_list);
+   list_move_tail(e, &ep_list);
}
}
spin_unlock_bh(&ozhcd->hcd_lock);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: gdm72xx: use list_move_tail instead of list_del/list_add_tail

2012-09-04 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/gdm72xx/gdm_usb.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/gdm72xx/gdm_usb.c 
b/drivers/staging/gdm72xx/gdm_usb.c
index d48d49c..04820ce 100644
--- a/drivers/staging/gdm72xx/gdm_usb.c
+++ b/drivers/staging/gdm72xx/gdm_usb.c
@@ -180,8 +180,7 @@ static struct usb_rx *get_rx_struct(struct rx_cxt *rx)
}
 
r = list_entry(rx->free_list.next, struct usb_rx, list);
-   list_del(&r->list);
-   list_add_tail(&r->list, &rx->used_list);
+   list_move_tail(&r->list, &rx->used_list);
 
return r;
 }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ALSA: use list_move_tail instead of list_del/list_add_tail

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move_tail() instead of list_del() + list_add_tail().

Signed-off-by: Wei Yongjun 
---
 sound/pci/emu10k1/memory.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/pci/emu10k1/memory.c b/sound/pci/emu10k1/memory.c
index 0a43662..1dce0a39 100644
--- a/sound/pci/emu10k1/memory.c
+++ b/sound/pci/emu10k1/memory.c
@@ -263,8 +263,8 @@ int snd_emu10k1_memblk_map(struct snd_emu10k1 *emu, struct 
snd_emu10k1_memblk *b
spin_lock_irqsave(&emu->memblk_lock, flags);
if (blk->mapped_page >= 0) {
/* update order link */
-   list_del(&blk->mapped_order_link);
-   list_add_tail(&blk->mapped_order_link, 
&emu->mapped_order_link_head);
+   list_move_tail(&blk->mapped_order_link,
+  &emu->mapped_order_link_head);
spin_unlock_irqrestore(&emu->memblk_lock, flags);
return 0;
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] dma: tegra: use list_move_tail instead of list_del/list_add_tail

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/dma/tegra20-apb-dma.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index 24acd71..6ed3f43 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -475,8 +475,7 @@ static void tegra_dma_abort_all(struct tegra_dma_channel 
*tdc)
while (!list_empty(&tdc->pending_sg_req)) {
sgreq = list_first_entry(&tdc->pending_sg_req,
typeof(*sgreq), node);
-   list_del(&sgreq->node);
-   list_add_tail(&sgreq->node, &tdc->free_sg_req);
+   list_move_tail(&sgreq->node, &tdc->free_sg_req);
if (sgreq->last_sg) {
dma_desc = sgreq->dma_desc;
dma_desc->dma_status = DMA_ERROR;
@@ -570,8 +569,7 @@ static void handle_cont_sngl_cycle_dma_done(struct 
tegra_dma_channel *tdc,
 
/* If not last req then put at end of pending list */
if (!list_is_last(&sgreq->node, &tdc->pending_sg_req)) {
-   list_del(&sgreq->node);
-   list_add_tail(&sgreq->node, &tdc->pending_sg_req);
+   list_move_tail(&sgreq->node, &tdc->pending_sg_req);
sgreq->configured = false;
st = handle_continuous_head_request(tdc, sgreq, to_terminate);
if (!st)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] drbd: use list_move_tail instead of list_del/list_add_tail

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/block/drbd/drbd_worker.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index 6bce2cc..a196281 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -141,8 +141,7 @@ static void drbd_endio_write_sec_final(struct 
drbd_epoch_entry *e) __releases(lo
 
spin_lock_irqsave(&mdev->req_lock, flags);
mdev->writ_cnt += e->size >> 9;
-   list_del(&e->w.list); /* has been on active_ee or sync_ee */
-   list_add_tail(&e->w.list, &mdev->done_ee);
+   list_move_tail(&e->w.list, &mdev->done_ee);
 
/* No hlist_del_init(&e->collision) here, we did not send the Ack yet,
 * neither did we wake possibly waiting conflicting requests.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] gpio_msm: using for_each_set_bit to simplify the code

2012-09-13 Thread Wei Yongjun
From: Wei Yongjun 

Using for_each_set_bit() to simplify the code.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/gpio/gpio-msm-v2.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-msm-v2.c b/drivers/gpio/gpio-msm-v2.c
index 5cb1227..38305be 100644
--- a/drivers/gpio/gpio-msm-v2.c
+++ b/drivers/gpio/gpio-msm-v2.c
@@ -317,9 +317,7 @@ static void msm_summary_irq_handler(unsigned int irq, 
struct irq_desc *desc)
 
chained_irq_enter(chip, desc);
 
-   for (i = find_first_bit(msm_gpio.enabled_irqs, NR_GPIO_IRQS);
-i < NR_GPIO_IRQS;
-i = find_next_bit(msm_gpio.enabled_irqs, NR_GPIO_IRQS, i + 1)) {
+   for_each_set_bit(i, msm_gpio.enabled_irqs, NR_GPIO_IRQS) {
if (readl(GPIO_INTR_STATUS(i)) & BIT(INTR_STATUS))
generic_handle_irq(msm_gpio_to_irq(&msm_gpio.gpio_chip,
   i));


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: at91/gpio: using for_each_set_bit to simplify the code

2012-09-13 Thread Wei Yongjun
From: Wei Yongjun 

Using for_each_set_bit() to simplify the code.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 arch/arm/mach-at91/gpio.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
index be42cf0..ed6ed8c 100644
--- a/arch/arm/mach-at91/gpio.c
+++ b/arch/arm/mach-at91/gpio.c
@@ -609,10 +609,8 @@ static void gpio_irq_handler(unsigned irq, struct irq_desc 
*desc)
continue;
}
 
-   n = find_first_bit(&isr, BITS_PER_LONG);
-   while (n < BITS_PER_LONG) {
+   for_each_set_bit(n, &isr, BITS_PER_LONG) {
generic_handle_irq(irq_find_mapping(at91_gpio->domain, 
n));
-   n = find_next_bit(&isr, BITS_PER_LONG, n + 1);
}
}
chained_irq_exit(chip, desc);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: mmp: using for_each_set_bit to simplify the code

2012-09-13 Thread Wei Yongjun
From: Wei Yongjun 

Using for_each_set_bit() to simplify the code.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 arch/arm/mach-mmp/irq.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/mach-mmp/irq.c b/arch/arm/mach-mmp/irq.c
index e60c7d9..3c71246 100644
--- a/arch/arm/mach-mmp/irq.c
+++ b/arch/arm/mach-mmp/irq.c
@@ -153,10 +153,8 @@ static void icu_mux_irq_demux(unsigned int irq, struct 
irq_desc *desc)
status = readl_relaxed(data->reg_status) & ~mask;
if (status == 0)
break;
-   n = find_first_bit(&status, BITS_PER_LONG);
-   while (n < BITS_PER_LONG) {
+   for_each_set_bit(n, &status, BITS_PER_LONG) {
generic_handle_irq(icu_data[i].virq_base + n);
-   n = find_next_bit(&status, BITS_PER_LONG, n + 1);
}
}
 }

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] gpio: pxa: using for_each_set_bit to simplify the code

2012-09-13 Thread Wei Yongjun
From: Wei Yongjun 

Using for_each_set_bit() to simplify the code.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/gpio/gpio-pxa.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index 9cac88a..a9e1a74 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -413,12 +413,10 @@ static void pxa_gpio_demux_handler(unsigned int irq, 
struct irq_desc *desc)
gedr = gedr & c->irq_mask;
writel_relaxed(gedr, c->regbase + GEDR_OFFSET);
 
-   n = find_first_bit(&gedr, BITS_PER_LONG);
-   while (n < BITS_PER_LONG) {
+   for_each_set_bit(n, &gedr, BITS_PER_LONG) {
loop = 1;
 
generic_handle_irq(gpio_to_irq(gpio_base + n));
-   n = find_next_bit(&gedr, BITS_PER_LONG, n + 1);
}
}
} while (loop);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] rtc: avoid calling platform_device_put() twice in test_init()

2012-10-22 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function test_init() need to call
platform_device_del() instead of platform_device_unregister().
Otherwise, we may call platform_device_put() twice.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/rtc/rtc-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-test.c b/drivers/rtc/rtc-test.c
index 7e96254..209a127 100644
--- a/drivers/rtc/rtc-test.c
+++ b/drivers/rtc/rtc-test.c
@@ -164,7 +164,7 @@ static int __init test_init(void)
return 0;
 
 exit_device_unregister:
-   platform_device_unregister(test0);
+   platform_device_del(test0);
 
 exit_free_test1:
platform_device_put(test1);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] pc8736x_gpio: use platform_device_unregister in pc8736x_gpio_cleanup()

2012-10-22 Thread Wei Yongjun
From: Wei Yongjun 

platform_device_unregister() only calls platform_device_del() and
platform_device_put(), thus use platform_device_unregister() to
simplify the code.

Also the documents in platform.c shows that platform_device_del
and platform_device_put must _only_ be externally called in error
cases.  All other usage is a bug.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/char/pc8736x_gpio.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/char/pc8736x_gpio.c b/drivers/char/pc8736x_gpio.c
index b304ec0..3f79a9f 100644
--- a/drivers/char/pc8736x_gpio.c
+++ b/drivers/char/pc8736x_gpio.c
@@ -345,8 +345,7 @@ static void __exit pc8736x_gpio_cleanup(void)
unregister_chrdev_region(MKDEV(major,0), PC8736X_GPIO_CT);
release_region(pc8736x_gpio_base, PC8736X_GPIO_RANGE);
 
-   platform_device_del(pdev);
-   platform_device_put(pdev);
+   platform_device_unregister(pdev);
 }
 
 module_init(pc8736x_gpio_init);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM i.MX: fix error-valued pointer dereference in clk_register_gate2()

2012-10-25 Thread Wei Yongjun
From: Wei Yongjun 

The error-valued pointer clk is used for the arg of kfree, it should be
kfree(gate) if clk_register() return ERR_PTR().

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 arch/arm/mach-imx/clk-gate2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/clk-gate2.c b/arch/arm/mach-imx/clk-gate2.c
index 3c1b8ff..cc49c7a 100644
--- a/arch/arm/mach-imx/clk-gate2.c
+++ b/arch/arm/mach-imx/clk-gate2.c
@@ -112,7 +112,7 @@ struct clk *clk_register_gate2(struct device *dev, const 
char *name,
 
clk = clk_register(dev, &gate->hw);
if (IS_ERR(clk))
-   kfree(clk);
+   kfree(gate);
 
return clk;
 }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] CLK: clk-twl6040: fix return value check in twl6040_clk_probe()

2012-10-31 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_register() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/clk/clk-twl6040.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/clk-twl6040.c b/drivers/clk/clk-twl6040.c
index f4a3389..bc1e713 100644
--- a/drivers/clk/clk-twl6040.c
+++ b/drivers/clk/clk-twl6040.c
@@ -92,8 +92,8 @@ static int __devinit twl6040_clk_probe(struct platform_device 
*pdev)
 
clkdata->mcpdm_fclk.init = &wm831x_clkout_init;
clkdata->clk = clk_register(&pdev->dev, &clkdata->mcpdm_fclk);
-   if (!clkdata->clk)
-   return -EINVAL;
+   if (IS_ERR(clkdata->clk))
+   return PTR_ERR(clkdata->clk);
 
dev_set_drvdata(&pdev->dev, clkdata);
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] Staging: silicom: bypasslib: remove unused including

2012-10-31 Thread Wei Yongjun
From: Wei Yongjun 

Remove including  that don't need it.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/silicom/bypasslib/bplibk.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/silicom/bypasslib/bplibk.h 
b/drivers/staging/silicom/bypasslib/bplibk.h
index a726d90..d8c1d27 100644
--- a/drivers/staging/silicom/bypasslib/bplibk.h
+++ b/drivers/staging/silicom/bypasslib/bplibk.h
@@ -15,7 +15,6 @@
 
 #include "bp_ioctl.h"
 #include "libbp_sd.h"
-#include 
 
 #define IF_NAME"eth"
 #define SILICOM_VID0x1374


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] Staging: silicom: remove unused including

2012-10-31 Thread Wei Yongjun
From: Wei Yongjun 

Remove including  that don't need it.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/silicom/bp_mod.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/silicom/bp_mod.c b/drivers/staging/silicom/bp_mod.c
index 018b4ff..58c5f5c 100644
--- a/drivers/staging/silicom/bp_mod.c
+++ b/drivers/staging/silicom/bp_mod.c
@@ -9,7 +9,6 @@
 /*
*/
 /*
*/
 
/**/
-#include 
 
 #include   /* We're doing kernel work */
 #include   /* Specifically, a module */


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] hppfs: fix the return value of get_inode()

2012-09-20 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function get_inode() returns ERR_PTR().
But the users hppfs_lookup() and hppfs_fill_super() use NULL
test for check the return value, not IS_ERR(), so we'd better
change the return value of get_inode() to NULL instead of
ERR_PTR().

dpatch engine is used to generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 fs/hppfs/hppfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/hppfs/hppfs.c b/fs/hppfs/hppfs.c
index c1dffe4..31b1e85 100644
--- a/fs/hppfs/hppfs.c
+++ b/fs/hppfs/hppfs.c
@@ -674,7 +674,7 @@ static struct inode *get_inode(struct super_block *sb, 
struct dentry *dentry)
 
if (!inode) {
dput(dentry);
-   return ERR_PTR(-ENOMEM);
+   return NULL;
}
 
if (S_ISDIR(dentry->d_inode->i_mode)) {


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ufs: fix return value check in ufs_alloc_lastblock()

2012-09-20 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function ufs_get_locked_page() returns ERR_PTR()
or NULL pointer. The IS_ERR() test in the error handling should be
replaced with IS_ERR_OR_NULL().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 fs/ufs/truncate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ufs/truncate.c b/fs/ufs/truncate.c
index f04f89f..82426ed 100644
--- a/fs/ufs/truncate.c
+++ b/fs/ufs/truncate.c
@@ -391,7 +391,7 @@ static int ufs_alloc_lastblock(struct inode *inode)
 
lastpage = ufs_get_locked_page(mapping, lastfrag >>
   (PAGE_CACHE_SHIFT - inode->i_blkbits));
-   if (IS_ERR(lastpage)) {
+   if (IS_ERR_OR_NULL(lastpage)) {
err = -EIO;
goto out;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: tidspbridge: fix return value check in dsp_wdt_init()

2012-09-20 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_get() returns ERR_PTR()
and never returns NULL pointer. The NULL test in the error
handling should be replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/tidspbridge/core/wdt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/tidspbridge/core/wdt.c 
b/drivers/staging/tidspbridge/core/wdt.c
index 870f934..268aba2 100644
--- a/drivers/staging/tidspbridge/core/wdt.c
+++ b/drivers/staging/tidspbridge/core/wdt.c
@@ -61,9 +61,9 @@ int dsp_wdt_init(void)
 
dsp_wdt.fclk = clk_get(NULL, "wdt3_fck");
 
-   if (dsp_wdt.fclk) {
+   if (!IS_ERR(dsp_wdt.fclk)) {
dsp_wdt.iclk = clk_get(NULL, "wdt3_ick");
-   if (!dsp_wdt.iclk) {
+   if (IS_ERR(dsp_wdt.iclk)) {
clk_put(dsp_wdt.fclk);
dsp_wdt.fclk = NULL;
ret = -EFAULT;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] davinci: fix return value check by using IS_ERR in tnetv107x_devices_init()

2012-09-20 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_get() returns ERR_PTR() not
NULL pointer. The NULL test in the error handling should be
replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 arch/arm/mach-davinci/devices-tnetv107x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-davinci/devices-tnetv107x.c 
b/arch/arm/mach-davinci/devices-tnetv107x.c
index 29b17f7..773ab07 100644
--- a/arch/arm/mach-davinci/devices-tnetv107x.c
+++ b/arch/arm/mach-davinci/devices-tnetv107x.c
@@ -374,7 +374,7 @@ void __init tnetv107x_devices_init(struct 
tnetv107x_device_info *info)
 * complete sample conversion in time.
 */
tsc_clk = clk_get(NULL, "sys_tsc_clk");
-   if (tsc_clk) {
+   if (!IS_ERR(tsc_clk)) {
error = clk_set_rate(tsc_clk, 500);
WARN_ON(error < 0);
clk_put(tsc_clk);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: imx: fix the return value check in imx_clk_busy_divider()

2012-09-20 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_register() returns ERR_PTR()
no NULL pointer. The NULL test in the return value check should
be replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 arch/arm/mach-imx/clk-busy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/clk-busy.c b/arch/arm/mach-imx/clk-busy.c
index 1a7a8dd..1ab91b5 100644
--- a/arch/arm/mach-imx/clk-busy.c
+++ b/arch/arm/mach-imx/clk-busy.c
@@ -108,7 +108,7 @@ struct clk *imx_clk_busy_divider(const char *name, const 
char *parent_name,
busy->div.hw.init = &init;
 
clk = clk_register(NULL, &busy->div.hw);
-   if (!clk)
+   if (IS_ERR(clk))
kfree(busy);
 
return clk;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] clk: fix return value check in of_fixed_clk_setup()

2012-09-20 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_register_fixed_rate() returns
ERR_PTR() not NULL pointer. The NULL test in the return value
check should be replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/clk/clk-fixed-rate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/clk-fixed-rate.c b/drivers/clk/clk-fixed-rate.c
index f5ec0ee..af78ed6 100644
--- a/drivers/clk/clk-fixed-rate.c
+++ b/drivers/clk/clk-fixed-rate.c
@@ -97,7 +97,7 @@ void __init of_fixed_clk_setup(struct device_node *node)
of_property_read_string(node, "clock-output-names", &clk_name);
 
clk = clk_register_fixed_rate(NULL, clk_name, NULL, CLK_IS_ROOT, rate);
-   if (clk)
+   if (!IS_ERR(clk))
of_clk_add_provider(node, of_clk_src_simple_get, clk);
 }
 EXPORT_SYMBOL_GPL(of_fixed_clk_setup);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] c2port: fix return value check in duramar2150_c2port_init()

2012-09-21 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function c2port_device_register() returns
ERR_PTR() not NULL pointer. The NULL test in the return value
check should be replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/misc/c2port/c2port-duramar2150.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/c2port/c2port-duramar2150.c 
b/drivers/misc/c2port/c2port-duramar2150.c
index 5484301..3dc61ea 100644
--- a/drivers/misc/c2port/c2port-duramar2150.c
+++ b/drivers/misc/c2port/c2port-duramar2150.c
@@ -129,8 +129,8 @@ static int __init duramar2150_c2port_init(void)
 
duramar2150_c2port_dev = c2port_device_register("uc",
&duramar2150_c2port_ops, NULL);
-   if (!duramar2150_c2port_dev) {
-   ret = -ENODEV;
+   if (IS_ERR(duramar2150_c2port_dev)) {
+   ret = PTR_ERR(duramar2150_c2port_dev);
goto free_region;
}
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] spi: sh-hspi: fix return value check in hspi_probe()

2012-09-21 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_get() returns ERR_PTR()
and never returns NULL pointer. The NULL test in the error
handling should be replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/spi/spi-sh-hspi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/spi/spi-sh-hspi.c b/drivers/spi/spi-sh-hspi.c
index 934138c..ecb99f3 100644
--- a/drivers/spi/spi-sh-hspi.c
+++ b/drivers/spi/spi-sh-hspi.c
@@ -251,7 +251,7 @@ static int __devinit hspi_probe(struct platform_device 
*pdev)
}
 
clk = clk_get(NULL, "shyway_clk");
-   if (!clk) {
+   if (IS_ERR(clk)) {
dev_err(&pdev->dev, "shyway_clk is required\n");
ret = -EINVAL;
goto error0;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: pxa: fix return value check in pxa2xx_drv_pcmcia_probe()

2012-09-21 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_get() returns ERR_PTR()
and never returns NULL pointer. The NULL test in the error
handling should be replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/pcmcia/pxa2xx_base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c
index 490bb82..cfec9dd 100644
--- a/drivers/pcmcia/pxa2xx_base.c
+++ b/drivers/pcmcia/pxa2xx_base.c
@@ -297,7 +297,7 @@ static int pxa2xx_drv_pcmcia_probe(struct platform_device 
*dev)
}
 
clk = clk_get(&dev->dev, NULL);
-   if (!clk)
+   if (IS_ERR(clk))
return -ENODEV;
 
pxa2xx_drv_pcmcia_ops(ops);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] ARM: at91: remove duplicated include from pinctrl-at91.c

2012-10-26 Thread Wei Yongjun
From: Wei Yongjun 

Remove duplicated include.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/pinctrl/pinctrl-at91.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 01bf924..7bfad34 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -20,7 +20,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] ARM: at91: using for_each_set_bit to simplify the code

2012-10-26 Thread Wei Yongjun
From: Wei Yongjun 

Using for_each_set_bit() to simplify the code.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/pinctrl/pinctrl-at91.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 01bf924..cccac23 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -1220,10 +1220,8 @@ static void gpio_irq_handler(unsigned irq, struct 
irq_desc *desc)
continue;
}
 
-   n = find_first_bit(&isr, BITS_PER_LONG);
-   while (n < BITS_PER_LONG) {
+   for_each_set_bit(n, &isr, BITS_PER_LONG) {
generic_handle_irq(irq_find_mapping(at91_gpio->domain, 
n));
-   n = find_next_bit(&isr, BITS_PER_LONG, n + 1);
}
}
chained_irq_exit(chip, desc);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] ARM: at91: remove unused variable in at91_dt_node_to_map()

2012-10-26 Thread Wei Yongjun
From: Wei Yongjun 

The variable pin is initialized but never used
otherwise, so remove the unused variable.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/pinctrl/pinctrl-at91.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 01bf924..19b57bb 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -221,7 +221,6 @@ static int at91_dt_node_to_map(struct pinctrl_dev *pctldev,
struct device_node *parent;
int map_num = 1;
int i;
-   struct at91_pmx_pin *pin;
 
/*
 * first find the group of this node and check if we need create
@@ -256,8 +255,6 @@ static int at91_dt_node_to_map(struct pinctrl_dev *pctldev,
/* create config map */
new_map++;
for (i = 0; i < grp->npins; i++) {
-   pin = &grp->pins_conf[i];
-
new_map[i].type = PIN_MAP_TYPE_CONFIGS_PIN;
new_map[i].data.configs.group_or_pin =
pin_get_name(pctldev, grp->pins[i]);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] mtip32xx: remove unused variable from mtip32xx.c

2012-10-26 Thread Wei Yongjun
From: Wei Yongjun 

The variables fis, reply are initialized but never used
otherwise, so remove the unused variables.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/block/mtip32xx/mtip32xx.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/drivers/block/mtip32xx/mtip32xx.c 
b/drivers/block/mtip32xx/mtip32xx.c
index adc6f36..d1e0273 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -555,7 +555,6 @@ static void print_tags(struct driver_data *dd,
 static void mtip_timeout_function(unsigned long int data)
 {
struct mtip_port *port = (struct mtip_port *) data;
-   struct host_to_dev_fis *fis;
struct mtip_cmd *command;
int tag, cmdto_cnt = 0;
unsigned int bit, group;
@@ -587,7 +586,6 @@ static void mtip_timeout_function(unsigned long int data)
bit = tag & 0x1F;
 
command = &port->commands[tag];
-   fis = (struct host_to_dev_fis *) command->command;
 
set_bit(tag, tagaccum);
cmdto_cnt++;
@@ -1142,10 +1140,8 @@ static void mtip_issue_non_ncq_command(struct mtip_port 
*port, int tag)
 static bool mtip_pause_ncq(struct mtip_port *port,
struct host_to_dev_fis *fis)
 {
-   struct host_to_dev_fis *reply;
unsigned long task_file_data;
 
-   reply = port->rxfis + RX_FIS_D2H_REG;
task_file_data = readl(port->mmio+PORT_TFDATA);
 
if (fis->command == ATA_CMD_SEC_ERASE_UNIT)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] GPIO: clps711x: use platform_device_unregister in gpio_clps711x_init()

2012-10-26 Thread Wei Yongjun
From: Wei Yongjun 

platform_device_unregister() only calls platform_device_del() and
platform_device_put(), thus use platform_device_unregister() to
simplify the code.

Also the documents in platform.c shows that platform_device_del
and platform_device_put must _only_ be externally called in error
cases.  All other usage is a bug.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/gpio/gpio-clps711x.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c
index 0753b3a..def66ae 100644
--- a/drivers/gpio/gpio-clps711x.c
+++ b/drivers/gpio/gpio-clps711x.c
@@ -130,8 +130,7 @@ static int __init gpio_clps711x_init(void)
GFP_KERNEL);
if (!gpio) {
dev_err(&pdev->dev, "GPIO allocating memory error\n");
-   platform_device_del(pdev);
-   platform_device_put(pdev);
+   platform_device_unregister(pdev);
return -ENOMEM;
}
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] staging: comedi: use module_comedi_driver to simplify the code

2012-10-26 Thread Wei Yongjun
From: Wei Yongjun 

Use the module_comedi_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/comedi/drivers/das800.c | 17 +
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/drivers/staging/comedi/drivers/das800.c 
b/drivers/staging/comedi/drivers/das800.c
index 1ba26b4..85ab24c 100644
--- a/drivers/staging/comedi/drivers/das800.c
+++ b/drivers/staging/comedi/drivers/das800.c
@@ -342,22 +342,7 @@ static int das800_probe(struct comedi_device *dev)
return -1;
 }
 
-/*
- * A convenient macro that defines init_module() and cleanup_module(),
- * as necessary.
- */
-static int __init driver_das800_init_module(void)
-{
-   return comedi_driver_register(&driver_das800);
-}
-
-static void __exit driver_das800_cleanup_module(void)
-{
-   comedi_driver_unregister(&driver_das800);
-}
-
-module_init(driver_das800_init_module);
-module_exit(driver_das800_cleanup_module);
+module_comedi_driver(driver_das800);
 
 /* interrupt service routine */
 static irqreturn_t das800_interrupt(int irq, void *d)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] staging: comedi: skel: use module_comedi_driver to simplify the code

2012-10-26 Thread Wei Yongjun
From: Wei Yongjun 

Use the module_comedi_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/comedi/drivers/skel.c | 13 +
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/staging/comedi/drivers/skel.c 
b/drivers/staging/comedi/drivers/skel.c
index f292d79..e1b78a1 100644
--- a/drivers/staging/comedi/drivers/skel.c
+++ b/drivers/staging/comedi/drivers/skel.c
@@ -628,18 +628,7 @@ static void __exit driver_skel_cleanup_module(void)
 module_init(driver_skel_init_module);
 module_exit(driver_skel_cleanup_module);
 #else
-static int __init driver_skel_init_module(void)
-{
-   return comedi_driver_register(&driver_skel);
-}
-
-static void __exit driver_skel_cleanup_module(void)
-{
-   comedi_driver_unregister(&driver_skel);
-}
-
-module_init(driver_skel_init_module);
-module_exit(driver_skel_cleanup_module);
+module_comedi_driver(driver_skel);
 #endif
 
 MODULE_AUTHOR("Comedi http://www.comedi.org";);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] vme: vme_ca91cx42.c: fix to pass correct device identity to free_irq()

2013-08-25 Thread Wei Yongjun
From: Wei Yongjun 

free_irq() expects the same device identity that was passed to
corresponding request_irq(), otherwise the IRQ is not freed.

Signed-off-by: Wei Yongjun 
---
 drivers/vme/bridges/vme_ca91cx42.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/vme/bridges/vme_ca91cx42.c 
b/drivers/vme/bridges/vme_ca91cx42.c
index 64bfea3..f24e234 100644
--- a/drivers/vme/bridges/vme_ca91cx42.c
+++ b/drivers/vme/bridges/vme_ca91cx42.c
@@ -243,6 +243,8 @@ static int ca91cx42_irq_init(struct vme_bridge 
*ca91cx42_bridge)
 static void ca91cx42_irq_exit(struct ca91cx42_driver *bridge,
struct pci_dev *pdev)
 {
+   struct vme_bridge *ca91cx42_bridge;
+
/* Disable interrupts from PCI to VME */
iowrite32(0, bridge->base + VINT_EN);
 
@@ -251,7 +253,9 @@ static void ca91cx42_irq_exit(struct ca91cx42_driver 
*bridge,
/* Clear Any Pending PCI Interrupts */
iowrite32(0x00FF, bridge->base + LINT_STAT);
 
-   free_irq(pdev->irq, pdev);
+   ca91cx42_bridge = container_of((void *)bridge, struct vme_bridge,
+  driver_priv);
+   free_irq(pdev->irq, ca91cx42_bridge);
 }
 
 static int ca91cx42_iack_received(struct ca91cx42_driver *bridge, int level)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] drm/vmwgfx: fix error return code in vmw_driver_load()

2013-08-26 Thread Wei Yongjun
From: Wei Yongjun 

Fix to return -ENOMEM in the fence manager init error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun 
---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index 78e2164..6dafefc 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -622,8 +622,10 @@ static int vmw_driver_load(struct drm_device *dev, 
unsigned long chipset)
}
 
dev_priv->fman = vmw_fence_manager_init(dev_priv);
-   if (unlikely(dev_priv->fman == NULL))
+   if (unlikely(dev_priv->fman == NULL)) {
+   ret = -ENOMEM;
goto out_no_fman;
+   }
 
vmw_kms_save_vga(dev_priv);
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH RESEND] PM / AVS: SmartReflex: remove redundant dev_err call in omap_sr_probe()

2013-07-11 Thread Wei Yongjun
There is a error message within devm_ioremap_resource
already, so remove the dev_err call to avoid redundant
error message.

Signed-off-by: Wei Yongjun 
Acked-by: Nishanth Menon 
---
cc to linux-pm with Nishanth Menon's ACK
---
 drivers/power/avs/smartreflex.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
index db9973b..c26acfc 100644
--- a/drivers/power/avs/smartreflex.c
+++ b/drivers/power/avs/smartreflex.c
@@ -871,10 +871,8 @@ static int __init omap_sr_probe(struct platform_device 
*pdev)
 
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
sr_info->base = devm_ioremap_resource(&pdev->dev, mem);
-   if (IS_ERR(sr_info->base)) {
-   dev_err(&pdev->dev, "%s: ioremap fail\n", __func__);
+   if (IS_ERR(sr_info->base))
return PTR_ERR(sr_info->base);
-   }
 
irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] VMCI: fix to pass correct device identity to free_irq()

2013-09-05 Thread Wei Yongjun
From: Wei Yongjun 

free_irq() expects the same device identity that was passed to
corresponding request_irq(), otherwise the IRQ is not freed.

Signed-off-by: Wei Yongjun 
---
 drivers/misc/vmw_vmci/vmci_guest.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/vmw_vmci/vmci_guest.c 
b/drivers/misc/vmw_vmci/vmci_guest.c
index b3a2b76..c98b03b 100644
--- a/drivers/misc/vmw_vmci/vmci_guest.c
+++ b/drivers/misc/vmw_vmci/vmci_guest.c
@@ -649,7 +649,7 @@ static int vmci_guest_probe_device(struct pci_dev *pdev,
return 0;
 
 err_free_irq:
-   free_irq(vmci_dev->irq, &vmci_dev);
+   free_irq(vmci_dev->irq, vmci_dev);
tasklet_kill(&vmci_dev->datagram_tasklet);
tasklet_kill(&vmci_dev->bm_tasklet);
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] drm/msm: fix return value check in ERR_PTR()

2013-09-10 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function drm_prime_pages_to_sg() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check should
be replaced with IS_ERR().

Signed-off-by: Wei Yongjun 
---
 drivers/gpu/drm/msm/msm_gem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index 6b5a6c8..3462def 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -40,9 +40,9 @@ static struct page **get_pages(struct drm_gem_object *obj)
}
 
msm_obj->sgt = drm_prime_pages_to_sg(p, npages);
-   if (!msm_obj->sgt) {
+   if (IS_ERR(msm_obj->sgt)) {
dev_err(dev->dev, "failed to allocate sgt\n");
-   return ERR_PTR(-ENOMEM);
+   return ERR_CAST(msm_obj->sgt);
}
 
msm_obj->pages = p;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] drm/omap: fix error return code in omap_dmm_probe()

2013-09-11 Thread Wei Yongjun
From: Wei Yongjun 

Fix to return -ENOMEM in the refill memory alloc error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun 
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c 
b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index 9b794c9..ab546c9 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -675,6 +675,7 @@ static int omap_dmm_probe(struct platform_device *dev)
&omap_dmm->refill_pa, GFP_KERNEL);
if (!omap_dmm->refill_va) {
dev_err(&dev->dev, "could not allocate refill memory\n");
+   ret = -ENOMEM;
goto fail;
}
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] MFD: ucb1x00-core: fix error return code in ucb1x00_probe()

2013-09-11 Thread Wei Yongjun
From: Wei Yongjun 

Fix to return a negative error code in the irq alloc error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun 
---
 drivers/mfd/ucb1x00-core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
index b7cf98f..10f2e8d 100644
--- a/drivers/mfd/ucb1x00-core.c
+++ b/drivers/mfd/ucb1x00-core.c
@@ -551,6 +551,7 @@ static int ucb1x00_probe(struct mcp *mcp)
if (ucb->irq_base < 0) {
dev_err(&ucb->dev, "unable to allocate 16 irqs: %d\n",
ucb->irq_base);
+   ret = ucb->irq_base;
goto err_irq_alloc;
}
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Drivers: hv: vmbus: fix error return code in vmbus_connect()

2013-09-11 Thread Wei Yongjun
From: Wei Yongjun 

Fix to return -EINVAL in the version check error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun 
---
 drivers/hv/connection.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 8f4743a..b3eb50f 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -204,8 +204,10 @@ int vmbus_connect(void)
version = vmbus_get_next_version(version);
} while (version != VERSION_INVAL);
 
-   if (version == VERSION_INVAL)
+   if (version == VERSION_INVAL) {
+   ret = -EINVAL;
goto cleanup;
+   }
 
vmbus_proto_version = version;
pr_info("Hyper-V Host Build:%d-%d.%d-%d-%d.%d; Vmbus version:%d.%d\n",

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] drm/msm: fix potential NULL pointer dereference

2013-09-11 Thread Wei Yongjun
From: Wei Yongjun 

The dereference to 'pdata' should be moved below the NULL test.

Signed-off-by: Wei Yongjun 
---
 drivers/gpu/drm/msm/msm_gpu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
index e1e1ec9..6b50e6b 100644
--- a/drivers/gpu/drm/msm/msm_gpu.c
+++ b/drivers/gpu/drm/msm/msm_gpu.c
@@ -29,13 +29,14 @@
 static void bs_init(struct msm_gpu *gpu, struct platform_device *pdev)
 {
struct drm_device *dev = gpu->dev;
-   struct kgsl_device_platform_data *pdata = pdev->dev.platform_data;
+   struct kgsl_device_platform_data *pdata;
 
if (!pdev) {
dev_err(dev->dev, "could not find dtv pdata\n");
return;
}
 
+   pdata = pdev->dev.platform_data;
if (pdata->bus_scale_table) {
gpu->bsc = 
msm_bus_scale_register_client(pdata->bus_scale_table);
DBG("bus scale client: %08x", gpu->bsc);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Drivers: hv: vmbus: fix error return code in vmbus_connect()

2013-09-11 Thread Wei Yongjun
On 09/12/2013 04:03 AM, KY Srinivasan wrote:
>
>> -Original Message-
>> From: Wei Yongjun [mailto:weiyj...@gmail.com]
>> Sent: Wednesday, September 11, 2013 4:20 AM
>> To: KY Srinivasan; Haiyang Zhang
>> Cc: yongjun_...@trendmicro.com.cn; de...@linuxdriverproject.org; linux-
>> ker...@vger.kernel.org
>> Subject: [PATCH] Drivers: hv: vmbus: fix error return code in vmbus_connect()
>>
>> From: Wei Yongjun 
>>
>> Fix to return -EINVAL in the version check error handling
>> case instead of 0, as done elsewhere in this function.
> The return will not be zero in this case. If you look at the function 
> vmbus_negotiate_version(), in case the host refuses the version, the
> return value will be set to -ECONNREFUSED

look at the code:

 196 do {
 197 ret = vmbus_negotiate_version(msginfo, version);
 198 if (ret)
 199 goto cleanup;
 200 
 201 if (vmbus_connection.conn_state == CONNECTED)
 202 break;
 203 
 204 version = vmbus_get_next_version(version);
 205 } while (version != VERSION_INVAL);
 206 
 207 if (version == VERSION_INVAL)
 208 goto cleanup;

if function vmbus_negotiate_version() return error, the code
will goto cleanup. 

If 'version == VERSION_INVAL' is true, I think we tried all
of the VERSION_WS2008/VERSION_WIN7/VERSION_WIN8, but still
can not get the connection.

 



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ASoC: wm8993: drop regulator_bulk_free of devm_ allocated data

2013-09-27 Thread Wei Yongjun
From: Wei Yongjun 

It's not necessary to free regulator consumers allocated with
devm_regulator_bulk_get.

Signed-off-by: Wei Yongjun 
---
 sound/soc/codecs/wm8993.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 433d59a..2ee23a3 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -1562,7 +1562,6 @@ static int wm8993_remove(struct snd_soc_codec *codec)
struct wm8993_priv *wm8993 = snd_soc_codec_get_drvdata(codec);
 
wm8993_set_bias_level(codec, SND_SOC_BIAS_OFF);
-   regulator_bulk_free(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
return 0;
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ASoC: wm8993: drop regulator_bulk_free of devm_ allocated data

2013-09-27 Thread Wei Yongjun
From: Wei Yongjun 

It's not necessary to free regulator consumers allocated with
devm_regulator_bulk_get.

Signed-off-by: Wei Yongjun 
---
 sound/soc/codecs/wm8993.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 433d59a..2ee23a3 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -1562,7 +1562,6 @@ static int wm8993_remove(struct snd_soc_codec *codec)
struct wm8993_priv *wm8993 = snd_soc_codec_get_drvdata(codec);
 
wm8993_set_bias_level(codec, SND_SOC_BIAS_OFF);
-   regulator_bulk_free(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
return 0;
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] drivers: CCI: fix the error handle in cci_pmu_probe()

2013-09-21 Thread Wei Yongjun
From: Wei Yongjun 

This patch fix the error handle of function cci_pmu_probe():
- using IS_ERR() instead of NULL test for the return value of
  devm_ioremap_resource() since it nerver return NULL.
- remove kfree() for devm_kzalloc allocated memory
- remove dev_warn() since devm_ioremap_resource() has error message
  already.

Signed-off-by: Wei Yongjun 
---
 drivers/bus/arm-cci.c | 33 +++--
 1 file changed, 7 insertions(+), 26 deletions(-)

diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
index dc6528e..edad26c 100644
--- a/drivers/bus/arm-cci.c
+++ b/drivers/bus/arm-cci.c
@@ -565,18 +565,9 @@ static int cci_pmu_probe(struct platform_device *pdev)
return -ENOMEM;
 
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-   if (!res) {
-   dev_warn(&pdev->dev, "Failed to get mem resource\n");
-   ret = -EINVAL;
-   goto memalloc_err;
-   };
-
pmu->base = devm_ioremap_resource(&pdev->dev, res);
-   if (!pmu->base) {
-   dev_warn(&pdev->dev, "Failed to ioremap\n");
-   ret = -ENOMEM;
-   goto memalloc_err;
-   }
+   if (IS_ERR(pmu->base))
+   return -ENOMEM;
 
/*
 * CCI PMU has 5 overflow signals - one per counter; but some may be 
tied
@@ -601,22 +592,18 @@ static int cci_pmu_probe(struct platform_device *pdev)
if (i < CCI_PMU_MAX_HW_EVENTS) {
dev_warn(&pdev->dev, "In-correct number of interrupts: %d, 
should be %d\n",
i, CCI_PMU_MAX_HW_EVENTS);
-   ret = -EINVAL;
-   goto memalloc_err;
+   return -EINVAL;
}
 
pmu->port_ranges = port_range_by_rev();
if (!pmu->port_ranges) {
dev_warn(&pdev->dev, "CCI PMU version not supported\n");
-   ret = -EINVAL;
-   goto memalloc_err;
+   return -EINVAL;
}
 
pmu->cci_pmu = devm_kzalloc(&pdev->dev, sizeof(*(pmu->cci_pmu)), 
GFP_KERNEL);
-   if (!pmu->cci_pmu) {
-   ret = -ENOMEM;
-   goto memalloc_err;
-   }
+   if (!pmu->cci_pmu)
+   return -ENOMEM;
 
pmu->hw_events.events = pmu->events;
pmu->hw_events.used_mask = pmu->used_mask;
@@ -624,15 +611,9 @@ static int cci_pmu_probe(struct platform_device *pdev)
 
ret = cci_pmu_init(pmu->cci_pmu, pdev);
if (ret)
-   goto pmuinit_err;
+   return ret;
 
return 0;
-
-pmuinit_err:
-   kfree(pmu->cci_pmu);
-memalloc_err:
-   kfree(pmu);
-   return ret;
 }
 
 static int cci_platform_probe(struct platform_device *pdev)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] dma: mmp_pdma: use list_move instead of list_del/list_add

2013-09-22 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move() instead of list_del() + list_add().

Signed-off-by: Wei Yongjun 
---
 drivers/dma/mmp_pdma.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/dma/mmp_pdma.c b/drivers/dma/mmp_pdma.c
index ff8d7827..558994f 100644
--- a/drivers/dma/mmp_pdma.c
+++ b/drivers/dma/mmp_pdma.c
@@ -798,8 +798,7 @@ static void dma_do_tasklet(unsigned long data)
 * move the descriptors to a temporary list so we can drop
 * the lock during the entire cleanup operation
 */
-   list_del(&desc->node);
-   list_add(&desc->node, &chain_cleanup);
+   list_move(&desc->node, &chain_cleanup);
 
/*
 * Look for the first list entry which has the ENDIRQEN flag

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] i2o: add missing destroy_workqueue() on error in i2o_driver_register()

2013-09-23 Thread Wei Yongjun
From: Wei Yongjun 

Add the missing destroy_workqueue() before return from
i2o_driver_register() in the error handling case.

Signed-off-by: Wei Yongjun 
---
 drivers/message/i2o/driver.c | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/message/i2o/driver.c b/drivers/message/i2o/driver.c
index 813eaa3..c3d8462 100644
--- a/drivers/message/i2o/driver.c
+++ b/drivers/message/i2o/driver.c
@@ -105,7 +105,8 @@ int i2o_driver_register(struct i2o_driver *drv)
osm_err("too many drivers registered, increase "
"max_drivers\n");
spin_unlock_irqrestore(&i2o_drivers_lock, flags);
-   return -EFAULT;
+   rc = -EFAULT;
+   goto out;
}
 
drv->context = i;
@@ -124,11 +125,14 @@ int i2o_driver_register(struct i2o_driver *drv)
}
 
rc = driver_register(&drv->driver);
-   if (rc) {
-   if (drv->event) {
-   destroy_workqueue(drv->event_queue);
-   drv->event_queue = NULL;
-   }
+   if (rc)
+   goto out;
+
+   return 0;
+out:
+   if (drv->event_queue) {
+   destroy_workqueue(drv->event_queue);
+   drv->event_queue = NULL;
}
 
return rc;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] tps65090-charger: drop devm_free_irq of devm_ allocated irq

2013-09-23 Thread Wei Yongjun
From: Wei Yongjun 

The devm_request_irq function allocates irq that is released
when a driver detaches. Thus, there is no reason to explicitly
call devm_free_irq in probe or remove functions.

Signed-off-by: Wei Yongjun 
---
 drivers/power/tps65090-charger.c | 11 ---
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/power/tps65090-charger.c b/drivers/power/tps65090-charger.c
index bdd7b9b..14b6e79 100644
--- a/drivers/power/tps65090-charger.c
+++ b/drivers/power/tps65090-charger.c
@@ -277,13 +277,13 @@ static int tps65090_charger_probe(struct platform_device 
*pdev)
if (ret) {
dev_err(cdata->dev, "Unable to register irq %d err %d\n", irq,
ret);
-   goto fail_free_irq;
+   goto fail_unregister_supply;
}
 
ret = tps65090_config_charger(cdata);
if (ret < 0) {
dev_err(&pdev->dev, "charger config failed, err %d\n", ret);
-   goto fail_free_irq;
+   goto fail_unregister_supply;
}
 
/* Check for charger presence */
@@ -292,14 +292,14 @@ static int tps65090_charger_probe(struct platform_device 
*pdev)
if (ret < 0) {
dev_err(cdata->dev, "%s(): Error in reading reg 0x%x", __func__,
TPS65090_REG_CG_STATUS1);
-   goto fail_free_irq;
+   goto fail_unregister_supply;
}
 
if (status1 != 0) {
ret = tps65090_enable_charging(cdata);
if (ret < 0) {
dev_err(cdata->dev, "error enabling charger\n");
-   goto fail_free_irq;
+   goto fail_unregister_supply;
}
cdata->ac_online = 1;
power_supply_changed(&cdata->ac);
@@ -307,8 +307,6 @@ static int tps65090_charger_probe(struct platform_device 
*pdev)
 
return 0;
 
-fail_free_irq:
-   devm_free_irq(cdata->dev, irq, cdata);
 fail_unregister_supply:
power_supply_unregister(&cdata->ac);
 
@@ -319,7 +317,6 @@ static int tps65090_charger_remove(struct platform_device 
*pdev)
 {
struct tps65090_charger *cdata = platform_get_drvdata(pdev);
 
-   devm_free_irq(cdata->dev, cdata->irq, cdata);
power_supply_unregister(&cdata->ac);
 
return 0;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -next] staging: r8188eu: remove needless check before usb_free_urb()

2013-09-23 Thread Wei Yongjun
From: Wei Yongjun 

usb_free_urb(NULL) is safe and this check is not required.

Signed-off-by: Wei Yongjun 
---
 drivers/staging/rtl8188eu/os_dep/recv_linux.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/recv_linux.c 
b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
index e2f4e7d..1b670d8 100644
--- a/drivers/staging/rtl8188eu/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/recv_linux.c
@@ -77,8 +77,7 @@ int rtw_os_recvbuf_resource_alloc(struct adapter *padapter,
 int rtw_os_recvbuf_resource_free(struct adapter *padapter,
 struct recv_buf *precvbuf)
 {
-   if (precvbuf->purb)
-   usb_free_urb(precvbuf->purb);
+   usb_free_urb(precvbuf->purb);
return _SUCCESS;
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] mmc: cb710: drop free_irq for devm_request_irq allocated irq

2013-09-23 Thread Wei Yongjun
From: Wei Yongjun 

irq allocated with devm_request_irq should not be freed using
free_irq, because doing so causes a dangling pointer, and a
subsequent double free.

Signed-off-by: Wei Yongjun 
---
 drivers/misc/cb710/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/cb710/core.c b/drivers/misc/cb710/core.c
index 2e50f81..fb397e7 100644
--- a/drivers/misc/cb710/core.c
+++ b/drivers/misc/cb710/core.c
@@ -176,7 +176,7 @@ static int cb710_suspend(struct pci_dev *pdev, pm_message_t 
state)
 {
struct cb710_chip *chip = pci_get_drvdata(pdev);
 
-   free_irq(pdev->irq, chip);
+   devm_free_irq(&pdev->dev, pdev->irq, chip);
pci_save_state(pdev);
pci_disable_device(pdev);
if (state.event & PM_EVENT_SLEEP)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] mfd: twl6040: drop devm_free_irq of devm_ allocated irq

2013-09-25 Thread Wei Yongjun
From: Wei Yongjun 

The devm_request_irq function allocates irq that is released
when a driver detaches. Thus, there is no reason to explicitly
call devm_free_irq in probe or remove functions.

Signed-off-by: Wei Yongjun 
---
 drivers/mfd/twl6040.c | 10 ++
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/mfd/twl6040.c b/drivers/mfd/twl6040.c
index daf6694..7361dbe 100644
--- a/drivers/mfd/twl6040.c
+++ b/drivers/mfd/twl6040.c
@@ -619,7 +619,7 @@ static int twl6040_probe(struct i2c_client *client,
"twl6040_irq_th", twl6040);
if (ret) {
dev_err(twl6040->dev, "Thermal IRQ request failed: %d\n", ret);
-   goto thirq_err;
+   goto readyirq_err;
}
 
/* dual-access registers controlled by I2C only */
@@ -659,14 +659,10 @@ static int twl6040_probe(struct i2c_client *client,
ret = mfd_add_devices(&client->dev, -1, twl6040->cells, children,
  NULL, 0, NULL);
if (ret)
-   goto mfd_err;
+   goto readyirq_err;
 
return 0;
 
-mfd_err:
-   devm_free_irq(&client->dev, twl6040->irq_th, twl6040);
-thirq_err:
-   devm_free_irq(&client->dev, twl6040->irq_ready, twl6040);
 readyirq_err:
regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
 gpio_err:
@@ -684,8 +680,6 @@ static int twl6040_remove(struct i2c_client *client)
if (twl6040->power_count)
twl6040_power(twl6040, 0);
 
-   devm_free_irq(&client->dev, twl6040->irq_ready, twl6040);
-   devm_free_irq(&client->dev, twl6040->irq_th, twl6040);
regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
 
mfd_remove_devices(&client->dev);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] mfd: ezx-pcap: drop devm_free_irq of devm_ allocated irq

2013-09-25 Thread Wei Yongjun
From: Wei Yongjun 

The devm_request_irq function allocates irq that is released
when a driver detaches. Thus, there is no reason to explicitly
call devm_free_irq in probe or remove functions.

Signed-off-by: Wei Yongjun 
---
 drivers/mfd/ezx-pcap.c | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c
index 7245b0c..986d6d9 100644
--- a/drivers/mfd/ezx-pcap.c
+++ b/drivers/mfd/ezx-pcap.c
@@ -395,15 +395,12 @@ static int ezx_pcap_remove(struct spi_device *spi)
 {
struct pcap_chip *pcap = spi_get_drvdata(spi);
struct pcap_platform_data *pdata = dev_get_platdata(&spi->dev);
-   int i, adc_irq;
+   int i;
 
/* remove all registered subdevs */
device_for_each_child(&spi->dev, NULL, pcap_remove_subdev);
 
/* cleanup ADC */
-   adc_irq = pcap_to_irq(pcap, (pdata->config & PCAP_SECOND_PORT) ?
-   PCAP_IRQ_ADCDONE2 : PCAP_IRQ_ADCDONE);
-   devm_free_irq(&spi->dev, adc_irq, pcap);
mutex_lock(&pcap->adc_mutex);
for (i = 0; i < PCAP_ADC_MAXQ; i++)
kfree(pcap->adc_queue[i]);
@@ -509,8 +506,6 @@ static int ezx_pcap_probe(struct spi_device *spi)
 
 remove_subdevs:
device_for_each_child(&spi->dev, NULL, pcap_remove_subdev);
-/* free_adc: */
-   devm_free_irq(&spi->dev, adc_irq, pcap);
 free_irqchip:
for (i = pcap->irq_base; i < (pcap->irq_base + PCAP_NIRQS); i++)
irq_set_chip_and_handler(i, NULL, NULL);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] iommu/exynos: use list_del_init instead of list_del/INIT_LIST_HEAD

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_del_init() instead of list_del() + INIT_LIST_HEAD().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/iommu/exynos-iommu.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index 80bad32..7fe44f8 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -840,8 +840,7 @@ static void exynos_iommu_detach_device(struct iommu_domain 
*domain,
if (__exynos_sysmmu_disable(data)) {
dev_dbg(dev, "%s: Detached IOMMU with pgtable %#lx\n",
__func__, __pa(priv->pgtable));
-   list_del(&data->node);
-   INIT_LIST_HEAD(&data->node);
+   list_del_init(&data->node);
 
} else {
dev_dbg(dev, "%s: Detaching IOMMU with pgtable %#lx delayed",


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: gdm72xx: use list_move instead of list_del/list_add

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move() instead of list_del() + list_add().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/gdm72xx/gdm_usb.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/gdm72xx/gdm_usb.c 
b/drivers/staging/gdm72xx/gdm_usb.c
index d48d49c..b74442f 100644
--- a/drivers/staging/gdm72xx/gdm_usb.c
+++ b/drivers/staging/gdm72xx/gdm_usb.c
@@ -189,8 +189,7 @@ static struct usb_rx *get_rx_struct(struct rx_cxt *rx)
 /* Before this function is called, spin lock should be locked. */
 static void put_rx_struct(struct rx_cxt *rx, struct usb_rx *r)
 {
-   list_del(&r->list);
-   list_add(&r->list, &rx->free_list);
+   list_move(&r->list, &rx->free_list);
 }
 
 static int init_usb(struct usbwm_dev *udev)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: wlags49_h2: use list_move instead of list_del/list_add

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move() instead of list_del() + list_add().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/wlags49_h2/wl_netdev.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/wlags49_h2/wl_netdev.c 
b/drivers/staging/wlags49_h2/wl_netdev.c
index 824b852..e401b49 100644
--- a/drivers/staging/wlags49_h2/wl_netdev.c
+++ b/drivers/staging/wlags49_h2/wl_netdev.c
@@ -836,8 +836,7 @@ int wl_tx( struct sk_buff *skb, struct net_device *dev, int 
port )
 txF->frame.port = port;
 /* Move the frame to the txQ */
 /* NOTE: Here's where we would do priority queueing */
-list_del( &( txF->node ));
-list_add( &( txF->node ), &( lp->txQ[0] ));
+list_move(&(txF->node), &(lp->txQ[0]));
 
 lp->txQ_count++;
 if( lp->txQ_count >= DEFAULT_NUM_TX_FRAMES ) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] clockevents: use list_move instead of list_del/list_add

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move() instead of list_del() + list_add().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 kernel/time/clockevents.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
index 7e1ce01..8c4aac5 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
@@ -267,8 +267,7 @@ static void clockevents_notify_released(void)
while (!list_empty(&clockevents_released)) {
dev = list_entry(clockevents_released.next,
 struct clock_event_device, list);
-   list_del(&dev->list);
-   list_add(&dev->list, &clockevent_devices);
+   list_move(&dev->list, &clockevent_devices);
clockevents_do_notify(CLOCK_EVT_NOTIFY_ADD, dev);
}
 }
@@ -386,8 +385,7 @@ void clockevents_exchange_device(struct clock_event_device 
*old,
 */
if (old) {
clockevents_set_mode(old, CLOCK_EVT_MODE_UNUSED);
-   list_del(&old->list);
-   list_add(&old->list, &clockevents_released);
+   list_move(&old->list, &clockevents_released);
}
 
if (new) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] audit: use list_move instead of list_del/list_add in audit-tree

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move() instead of list_del() + list_add().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 kernel/audit_tree.c | 12 
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c
index ed206fd..56c4a9e 100644
--- a/kernel/audit_tree.c
+++ b/kernel/audit_tree.c
@@ -585,8 +585,7 @@ void audit_trim_trees(void)
 
tree = container_of(cursor.next, struct audit_tree, list);
get_tree(tree);
-   list_del(&cursor);
-   list_add(&cursor, &tree->list);
+   list_move(&cursor, &tree->list);
mutex_unlock(&audit_filter_mutex);
 
err = kern_path(tree->pathname, 0, &path);
@@ -738,8 +737,7 @@ int audit_tag_tree(char *old, char *new)
 
tree = container_of(cursor.next, struct audit_tree, list);
get_tree(tree);
-   list_del(&cursor);
-   list_add(&cursor, &tree->list);
+   list_move(&cursor, &tree->list);
mutex_unlock(&audit_filter_mutex);
 
err = kern_path(tree->pathname, 0, &path2);
@@ -764,8 +762,7 @@ int audit_tag_tree(char *old, char *new)
mutex_lock(&audit_filter_mutex);
spin_lock(&hash_lock);
if (!tree->goner) {
-   list_del(&tree->list);
-   list_add(&tree->list, &tree_list);
+   list_move(&tree->list, &tree_list);
}
spin_unlock(&hash_lock);
put_tree(tree);
@@ -776,8 +773,7 @@ int audit_tag_tree(char *old, char *new)
 
tree = container_of(barrier.prev, struct audit_tree, list);
get_tree(tree);
-   list_del(&tree->list);
-   list_add(&tree->list, &barrier);
+   list_move(&tree->list, &barrier);
mutex_unlock(&audit_filter_mutex);
 
if (!failed) {


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] JFS: use list_move instead of list_del/list_add

2012-09-06 Thread Wei Yongjun
From: Wei Yongjun 

Using list_move() instead of list_del() + list_add().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 fs/jfs/jfs_txnmgr.c | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
index bb8b661..5fcc02e 100644
--- a/fs/jfs/jfs_txnmgr.c
+++ b/fs/jfs/jfs_txnmgr.c
@@ -2977,12 +2977,9 @@ int jfs_sync(void *arg)
 * put back on the anon_list.
 */
 
-   /* Take off anon_list */
-   list_del(&jfs_ip->anon_inode_list);
-
-   /* Put on anon_list2 */
-   list_add(&jfs_ip->anon_inode_list,
-&TxAnchor.anon_list2);
+   /* Move from anon_list to anon_list2 */
+   list_move(&jfs_ip->anon_inode_list,
+ &TxAnchor.anon_list2);
 
TXN_UNLOCK();
iput(ip);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] powerpc/powernv: move the dereference below the NULL test

2012-09-06 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 arch/powerpc/platforms/powernv/pci.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/pci.c 
b/arch/powerpc/platforms/powernv/pci.c
index be3cfc5..4ba89c1 100644
--- a/arch/powerpc/platforms/powernv/pci.c
+++ b/arch/powerpc/platforms/powernv/pci.c
@@ -287,13 +287,15 @@ static int pnv_pci_read_config(struct pci_bus *bus,
   int where, int size, u32 *val)
 {
struct pci_controller *hose = pci_bus_to_host(bus);
-   struct pnv_phb *phb = hose->private_data;
+   struct pnv_phb *phb;
u32 bdfn = (((uint64_t)bus->number) << 8) | devfn;
s64 rc;
 
if (hose == NULL)
return PCIBIOS_DEVICE_NOT_FOUND;
 
+   phb = hose->private_data;
+
switch (size) {
case 1: {
u8 v8;
@@ -331,12 +333,14 @@ static int pnv_pci_write_config(struct pci_bus *bus,
int where, int size, u32 val)
 {
struct pci_controller *hose = pci_bus_to_host(bus);
-   struct pnv_phb *phb = hose->private_data;
+   struct pnv_phb *phb;
u32 bdfn = (((uint64_t)bus->number) << 8) | devfn;
 
if (hose == NULL)
return PCIBIOS_DEVICE_NOT_FOUND;
 
+   phb = hose->private_data;
+
cfg_dbg("pnv_pci_write_config bus: %x devfn: %x +%x/%x -> %08x\n",
bus->number, devfn, where, size, val);
switch (size) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: tidspbridge: move the dereference below the NULL test

2012-09-06 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/tidspbridge/core/chnl_sm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/tidspbridge/core/chnl_sm.c 
b/drivers/staging/tidspbridge/core/chnl_sm.c
index e0c7e4c..c03b07f 100644
--- a/drivers/staging/tidspbridge/core/chnl_sm.c
+++ b/drivers/staging/tidspbridge/core/chnl_sm.c
@@ -94,7 +94,7 @@ int bridge_chnl_add_io_req(struct chnl_object *chnl_obj, void 
*host_buf,
struct dev_object *dev_obj;
u8 dw_state;
bool is_eos;
-   struct chnl_mgr *chnl_mgr_obj = pchnl->chnl_mgr_obj;
+   struct chnl_mgr *chnl_mgr_obj;
u8 *host_sys_buf = NULL;
bool sched_dpc = false;
u16 mb_val = 0;
@@ -153,6 +153,7 @@ func_cont:
 * If DPC is scheduled in process context (iosm_schedule) and any
 * non-mailbox interrupt occurs, that DPC will run and break CS. Hence
 * we disable ALL DPCs. We will try to disable ONLY IO DPC later. */
+   chnl_mgr_obj = pchnl->chnl_mgr_obj;
spin_lock_bh(&chnl_mgr_obj->chnl_mgr_lock);
omap_mbox_disable_irq(dev_ctxt->mbox, IRQ_RX);
if (pchnl->chnl_type == CHNL_PCPY) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] block: move the dereference below the NULL test

2012-09-07 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/block/swim3.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
index 89ddab1..25a522d 100644
--- a/drivers/block/swim3.c
+++ b/drivers/block/swim3.c
@@ -1090,13 +1090,14 @@ static const struct block_device_operations floppy_fops 
= {
 static void swim3_mb_event(struct macio_dev* mdev, int mb_state)
 {
struct floppy_state *fs = macio_get_drvdata(mdev);
-   struct swim3 __iomem *sw = fs->swim3;
+   struct swim3 __iomem *sw;
 
if (!fs)
return;
if (mb_state != MB_FD)
return;
 
+   sw = fs->swim3;
/* Clear state */
out_8(&sw->intr_enable, 0);
in_8(&sw->intr);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ocfs2: move the dereference below the NULL test

2012-09-09 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 fs/ocfs2/move_extents.c | 3 ++-
 fs/ocfs2/journal.c  | 3 ++-
 fs/ocfs2/dlmglue.c  | 15 ++-
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/fs/ocfs2/move_extents.c b/fs/ocfs2/move_extents.c
index 6083432..c7631ee 100644
--- a/fs/ocfs2/move_extents.c
+++ b/fs/ocfs2/move_extents.c
@@ -975,11 +975,12 @@ static int ocfs2_move_extents(struct 
ocfs2_move_extents_context *context)
struct inode *inode = context->inode;
struct ocfs2_dinode *di;
struct buffer_head *di_bh = NULL;
-   struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
+   struct ocfs2_super *osb;
 
if (!inode)
return -ENOENT;
 
+   osb = OCFS2_SB(inode->i_sb);
if (ocfs2_is_hard_readonly(osb) || ocfs2_is_soft_readonly(osb))
return -EROFS;
 

diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index 2dd36af..a0c2e8a 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -340,11 +340,12 @@ finally:
 
 handle_t *ocfs2_start_trans(struct ocfs2_super *osb, int max_buffs)
 {
-   journal_t *journal = osb->journal->j_journal;
+   journal_t *journal;
handle_t *handle;
 
BUG_ON(!osb || !osb->journal->j_journal);
 
+   journal = osb->journal->j_journal;
if (ocfs2_is_hard_readonly(osb))
return ERR_PTR(-EROFS);
 

diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c
index 4f7795f..65fc2f6 100644
--- a/fs/ocfs2/dlmglue.c
+++ b/fs/ocfs2/dlmglue.c
@@ -1596,7 +1596,7 @@ static int ocfs2_create_new_lock(struct ocfs2_super *osb,
 int ocfs2_create_new_inode_locks(struct inode *inode)
 {
int ret;
-   struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
+   struct ocfs2_super *osb;
 
BUG_ON(!inode);
BUG_ON(!ocfs2_inode_is_new(inode));
@@ -1611,6 +1611,7 @@ int ocfs2_create_new_inode_locks(struct inode *inode)
 * on a resource which has an invalid one -- we'll set it
 * valid when we release the EX. */
 
+   osb = OCFS2_SB(inode->i_sb);
ret = ocfs2_create_new_lock(osb, &OCFS2_I(inode)->ip_rw_lockres, 1, 1);
if (ret) {
mlog_errno(ret);
@@ -1641,7 +1642,7 @@ int ocfs2_rw_lock(struct inode *inode, int write)
 {
int status, level;
struct ocfs2_lock_res *lockres;
-   struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
+   struct ocfs2_super *osb;
 
BUG_ON(!inode);
 
@@ -1649,6 +1650,7 @@ int ocfs2_rw_lock(struct inode *inode, int write)
 (unsigned long long)OCFS2_I(inode)->ip_blkno,
 write ? "EXMODE" : "PRMODE");
 
+   osb = OCFS2_SB(inode->i_sb);
if (ocfs2_mount_local(osb))
return 0;
 
@@ -1685,13 +1687,14 @@ int ocfs2_open_lock(struct inode *inode)
 {
int status = 0;
struct ocfs2_lock_res *lockres;
-   struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
+   struct ocfs2_super *osb;
 
BUG_ON(!inode);
 
mlog(0, "inode %llu take PRMODE open lock\n",
 (unsigned long long)OCFS2_I(inode)->ip_blkno);
 
+   osb = OCFS2_SB(inode->i_sb);
if (ocfs2_is_hard_readonly(osb) || ocfs2_mount_local(osb))
goto out;
 
@@ -1710,7 +1713,7 @@ int ocfs2_try_open_lock(struct inode *inode, int write)
 {
int status = 0, level;
struct ocfs2_lock_res *lockres;
-   struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
+   struct ocfs2_super *osb;
 
BUG_ON(!inode);
 
@@ -1718,6 +1721,7 @@ int ocfs2_try_open_lock(struct inode *inode, int write)
 (unsigned long long)OCFS2_I(inode)->ip_blkno,
 write ? "EXMODE" : "PRMODE");
 
+   osb = OCFS2_SB(inode->i_sb);
if (ocfs2_is_hard_readonly(osb)) {
if (write)
status = -EROFS;
@@ -2288,7 +2292,7 @@ int ocfs2_inode_lock_full_nested(struct inode *inode,
int status, level, acquired;
u32 dlm_flags;
struct ocfs2_lock_res *lockres = NULL;
-   struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
+   struct ocfs2_super *osb;
struct buffer_head *local_bh = NULL;
 
BUG_ON(!inode);
@@ -2299,6 +2303,7 @@ int ocfs2_inode_lock_full_nested(struct inode *inode,
 
status = 0;
acquired = 0;
+   osb = OCFS2_SB(inode->i_sb);
/* We'll allow faking a readonly metadata lock for
 * rodevices. */
if (ocfs2_is_hard_readonly(osb)) {


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] irqdomain: move the dereference below the NULL test

2012-09-09 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 kernel/irq/irqdomain.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 49a7772..3e5d3fc 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -374,11 +374,12 @@ static void irq_domain_disassociate_many(struct 
irq_domain *domain,
while (count--) {
int irq = irq_base + count;
struct irq_data *irq_data = irq_get_irq_data(irq);
-   irq_hw_number_t hwirq = irq_data->hwirq;
+   irq_hw_number_t hwirq;
 
if (WARN_ON(!irq_data || irq_data->domain != domain))
continue;
 
+   hwirq = irq_data->hwirq;
irq_set_status_flags(irq, IRQ_NOREQUEST);
 
/* remove chip and handler */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: davinci: dm644x: move the dereference below the NULL test

2012-09-09 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 arch/arm/mach-davinci/board-dm644x-evm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c 
b/arch/arm/mach-davinci/board-dm644x-evm.c
index d34ed55..b54dc03 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -518,13 +518,11 @@ static int dm6444evm_msp430_get_pins(void)
char buf[4];
struct i2c_msg msg[2] = {
{
-   .addr = dm6446evm_msp->addr,
.flags = 0,
.len = 2,
.buf = (void __force *)txbuf,
},
{
-   .addr = dm6446evm_msp->addr,
.flags = I2C_M_RD,
.len = 4,
.buf = buf,
@@ -535,6 +533,9 @@ static int dm6444evm_msp430_get_pins(void)
if (!dm6446evm_msp)
return -ENXIO;
 
+   msg[0].addr = dm6446evm_msp->addr;
+   msg[1].addr = dm6446evm_msp->addr;
+
/* Command 4 == get input state, returns port 2 and port3 data
 *   S Addr W [A] len=2 [A] cmd=4 [A]
 *   RS Addr R [A] [len=4] A [cmd=4] A [port2] A [port3] N P

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] hwspinlock/core: move the dereference below the NULL test

2012-09-09 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/hwspinlock/hwspinlock_core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/hwspinlock/hwspinlock_core.c 
b/drivers/hwspinlock/hwspinlock_core.c
index 1201a15..db713c0 100644
--- a/drivers/hwspinlock/hwspinlock_core.c
+++ b/drivers/hwspinlock/hwspinlock_core.c
@@ -552,7 +552,7 @@ EXPORT_SYMBOL_GPL(hwspin_lock_request_specific);
  */
 int hwspin_lock_free(struct hwspinlock *hwlock)
 {
-   struct device *dev = hwlock->bank->dev;
+   struct device *dev;
struct hwspinlock *tmp;
int ret;
 
@@ -561,6 +561,7 @@ int hwspin_lock_free(struct hwspinlock *hwlock)
return -EINVAL;
}
 
+   dev = hwlock->bank->dev;
mutex_lock(&hwspinlock_tree_lock);
 
/* make sure the hwspinlock is used */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] memstick: move the dereference below the NULL test

2012-09-09 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 drivers/memstick/host/r592.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/memstick/host/r592.c b/drivers/memstick/host/r592.c
index 29b2172..a7c5b31 100644
--- a/drivers/memstick/host/r592.c
+++ b/drivers/memstick/host/r592.c
@@ -454,7 +454,7 @@ static int r592_transfer_fifo_pio(struct r592_device *dev)
 /* Executes one TPC (data is read/written from small or large fifo) */
 static void r592_execute_tpc(struct r592_device *dev)
 {
-   bool is_write = dev->req->tpc >= MS_TPC_SET_RW_REG_ADRS;
+   bool is_write;
int len, error;
u32 status, reg;
 
@@ -463,6 +463,7 @@ static void r592_execute_tpc(struct r592_device *dev)
return;
}
 
+   is_write = dev->req->tpc >= MS_TPC_SET_RW_REG_ADRS;
len = dev->req->long_data ?
dev->req->sg.length : dev->req->data_len;
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



[PATCH] configfs: move the dereference below the NULL test

2012-09-09 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun 
---
 fs/configfs/dir.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
index 7414ae2..3f15991 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -1037,10 +1037,11 @@ static int configfs_dump(struct configfs_dirent *sd, 
int level)
 static int configfs_depend_prep(struct dentry *origin,
struct config_item *target)
 {
-   struct configfs_dirent *child_sd, *sd = origin->d_fsdata;
+   struct configfs_dirent *child_sd, *sd;
int ret = 0;
 
-   BUG_ON(!origin || !sd);
+   BUG_ON(!origin || !origin->d_fsdata);
+   sd = origin->d_fsdata;
 
if (sd->s_element == target)  /* Boo-yah */
goto out;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] dgrp: remove unused including

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

Remove including  that don't need it.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/dgrp/dgrp_sysfs.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/dgrp/dgrp_sysfs.c 
b/drivers/staging/dgrp/dgrp_sysfs.c
index e5a3c88..a13318c 100644
--- a/drivers/staging/dgrp/dgrp_sysfs.c
+++ b/drivers/staging/dgrp/dgrp_sysfs.c
@@ -17,7 +17,6 @@
 #include "dgrp_common.h"
 
 #include 
-#include 
 #include 
 #include 
 #include 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] ARM: sa11x0: remove duplicated include from hackkit.c

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

Remove duplicated include.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 arch/arm/mach-sa1100/hackkit.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/mach-sa1100/hackkit.c b/arch/arm/mach-sa1100/hackkit.c
index fc106aa..d67a6d3 100644
--- a/arch/arm/mach-sa1100/hackkit.c
+++ b/arch/arm/mach-sa1100/hackkit.c
@@ -21,7 +21,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] extcon: remove duplicated include from extcon-gpio.c

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

Remove duplicated include.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/extcon/extcon-gpio.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/extcon/extcon-gpio.c b/drivers/extcon/extcon-gpio.c
index 3cc152e..71d3ab7 100644
--- a/drivers/extcon/extcon-gpio.c
+++ b/drivers/extcon/extcon-gpio.c
@@ -26,7 +26,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] drm/nouveau: remove duplicated include from nouveau_drm.c

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

Remove duplicated include.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c 
b/drivers/gpu/drm/nouveau/nouveau_drm.c
index ccae8c2..f5c8ccf 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -49,7 +49,6 @@
 #include "nouveau_fbcon.h"
 #include "nouveau_fence.h"
 
-#include "nouveau_ttm.h"
 
 MODULE_PARM_DESC(config, "option string to pass to driver core");
 static char *nouveau_config;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] pinctrl: remove duplicated include from pinctrl-bcm2835.c

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

Remove duplicated include.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/pinctrl/pinctrl-bcm2835.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-bcm2835.c 
b/drivers/pinctrl/pinctrl-bcm2835.c
index a4adee6..f2534ed 100644
--- a/drivers/pinctrl/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/pinctrl-bcm2835.c
@@ -29,7 +29,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] staging: csr: remove unused including

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

Remove including  that don't need it.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/staging/csr/unifi_wext.h   | 1 -
 drivers/staging/csr/unifi_priv.h   | 1 -
 drivers/staging/csr/unifi_pdu_processing.c | 1 -
 drivers/staging/csr/ul_int.c   | 1 -
 drivers/staging/csr/sme_sys.c  | 1 -
 drivers/staging/csr/sme_native.c   | 1 -
 drivers/staging/csr/sdio_mmc.c | 1 -
 drivers/staging/csr/netdev.c   | 1 -
 drivers/staging/csr/monitor.c  | 1 -
 drivers/staging/csr/io.c   | 1 -
 drivers/staging/csr/csr_time.c | 1 -
 drivers/staging/csr/csr_framework_ext.c| 1 -
 12 files changed, 12 deletions(-)

diff --git a/drivers/staging/csr/unifi_wext.h b/drivers/staging/csr/unifi_wext.h
index 6834c43..beba089 100644
--- a/drivers/staging/csr/unifi_wext.h
+++ b/drivers/staging/csr/unifi_wext.h
@@ -16,7 +16,6 @@
 #define __LINUX_UNIFI_WEXT_H__ 1
 
 #include 
-#include 
 #include 
 #include "csr_wifi_sme_prim.h"
 

diff --git a/drivers/staging/csr/unifi_priv.h b/drivers/staging/csr/unifi_priv.h
index aec8e28..f25b92a 100644
--- a/drivers/staging/csr/unifi_priv.h
+++ b/drivers/staging/csr/unifi_priv.h
@@ -17,7 +17,6 @@
 #ifndef __LINUX_UNIFI_PRIV_H__
 #define __LINUX_UNIFI_PRIV_H__ 1
 
-#include 
 #include 
 #include 
 #include 

diff --git a/drivers/staging/csr/unifi_pdu_processing.c 
b/drivers/staging/csr/unifi_pdu_processing.c
index ae7c8fc..a762939 100644
--- a/drivers/staging/csr/unifi_pdu_processing.c
+++ b/drivers/staging/csr/unifi_pdu_processing.c
@@ -14,7 +14,6 @@
  * ---
  */
 
-#include 
 #include 
 #include 
 #include 

diff --git a/drivers/staging/csr/ul_int.c b/drivers/staging/csr/ul_int.c
index 4013d02..0fae6f4 100644
--- a/drivers/staging/csr/ul_int.c
+++ b/drivers/staging/csr/ul_int.c
@@ -12,7 +12,6 @@
  *
  * ***
  */
-#include 
 #include "csr_wifi_hip_unifi.h"
 #include "csr_wifi_hip_conversions.h"
 #include "unifi_priv.h"

diff --git a/drivers/staging/csr/sme_sys.c b/drivers/staging/csr/sme_sys.c
index 5b26c41..90a30dc 100644
--- a/drivers/staging/csr/sme_sys.c
+++ b/drivers/staging/csr/sme_sys.c
@@ -14,7 +14,6 @@
  * ---
  */
 
-#include 
 #include "csr_wifi_hip_unifiversion.h"
 #include "unifi_priv.h"
 #include "csr_wifi_hip_conversions.h"

diff --git a/drivers/staging/csr/sme_native.c b/drivers/staging/csr/sme_native.c
index d7a5125..26f10bc 100644
--- a/drivers/staging/csr/sme_native.c
+++ b/drivers/staging/csr/sme_native.c
@@ -12,7 +12,6 @@
  */
 
 #include 
-#include 
 #include "unifi_priv.h"
 #include "csr_wifi_hip_unifi.h"
 #include "csr_wifi_hip_conversions.h"

diff --git a/drivers/staging/csr/sdio_mmc.c b/drivers/staging/csr/sdio_mmc.c
index af3e40b..6b96df1 100644
--- a/drivers/staging/csr/sdio_mmc.c
+++ b/drivers/staging/csr/sdio_mmc.c
@@ -14,7 +14,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 

diff --git a/drivers/staging/csr/netdev.c b/drivers/staging/csr/netdev.c
index 9a52ab4..8a53171 100644
--- a/drivers/staging/csr/netdev.c
+++ b/drivers/staging/csr/netdev.c
@@ -47,7 +47,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include "csr_wifi_hip_unifi.h"
 #include "csr_wifi_hip_conversions.h"

diff --git a/drivers/staging/csr/monitor.c b/drivers/staging/csr/monitor.c
index 7c524a1..7b76f07 100644
--- a/drivers/staging/csr/monitor.c
+++ b/drivers/staging/csr/monitor.c
@@ -10,7 +10,6 @@
  * ---
  */
 
-#include 
 #include "unifi_priv.h"
 
 #ifdef UNIFI_SNIFF_ARPHRD

diff --git a/drivers/staging/csr/io.c b/drivers/staging/csr/io.c
index caf48e3..5206cba 100644
--- a/drivers/staging/csr/io.c
+++ b/drivers/staging/csr/io.c
@@ -31,7 +31,6 @@
  * ---
  */
 #include 
-#include 
 
 #include "csr_wifi_hip_unifi.h"
 #include "csr_wifi_hip_unifiversion.h"

diff --git a/drivers/staging/csr/csr_time.c b/drivers/staging/csr/csr_time.c
index 7b597f7..f4ff98c 100644
--- a/drivers/staging/csr/csr_time.c
+++ b/drivers/staging/csr/csr_time.c
@@ -9,7 +9,6 @@
 */
 
 #include 
-#include 
 #include 
 #include 
 

diff --git a/drivers/staging/csr/csr_framework_ext.c 
b/drivers/staging/csr/csr_framework_ext.c
index f91a4bf..e203f60 100644
--- a/drivers/staging/csr/csr_framework_ext.c
+++ b/drivers/staging/csr/csr_framework_ext.c
@@ -9,7 +9,6 @@
 *

[PATCH] gma500: medfield: fix potential NULL pointer dereference in mdfld_dsi_output_init()

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

The dereference should be moved below the NULL test.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/gpu/drm/gma500/mdfld_dsi_output.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_output.c 
b/drivers/gpu/drm/gma500/mdfld_dsi_output.c
index 32dba2a..f92932f 100644
--- a/drivers/gpu/drm/gma500/mdfld_dsi_output.c
+++ b/drivers/gpu/drm/gma500/mdfld_dsi_output.c
@@ -500,17 +500,18 @@ void mdfld_dsi_output_init(struct drm_device *dev,
struct mdfld_dsi_connector *dsi_connector;
struct drm_connector *connector;
struct mdfld_dsi_encoder *encoder;
-   struct drm_psb_private *dev_priv = dev->dev_private;
+   struct drm_psb_private *dev_priv;
struct panel_info dsi_panel_info;
u32 width_mm, height_mm;
 
-   dev_dbg(dev->dev, "init DSI output on pipe %d\n", pipe);
-
if (!dev || ((pipe != 0) && (pipe != 2))) {
DRM_ERROR("Invalid parameter\n");
return;
}
 
+   dev_dbg(dev->dev, "init DSI output on pipe %d\n", pipe);
+   dev_priv = dev->dev_private;
+
/*create a new connetor*/
dsi_connector = kzalloc(sizeof(struct mdfld_dsi_connector), GFP_KERNEL);
if (!dsi_connector) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] pinctrl: fix return value in bcm2835_pinctrl_probe()

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function pinctrl_register() returns
NULL not ERR_PTR(). The PTR_ERR() in the return value
should be replaced with error no.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/pinctrl/pinctrl-bcm2835.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-bcm2835.c 
b/drivers/pinctrl/pinctrl-bcm2835.c
index a4adee6..1f9a878 100644
--- a/drivers/pinctrl/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/pinctrl-bcm2835.c
@@ -1032,7 +1032,7 @@ static int __devinit bcm2835_pinctrl_probe(struct 
platform_device *pdev)
pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc);
if (!pc->pctl_dev) {
gpiochip_remove(&pc->gpio_chip);
-   return PTR_ERR(pc->pctl_dev);
+   return -EINVAL;
}
 
pc->gpio_range = bcm2835_pinctrl_gpio_range;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] clk: fix return value check in sirfsoc_of_clk_init()

2012-10-07 Thread Wei Yongjun
From: Wei Yongjun 

In case of error, the function clk_register() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun 
---
 drivers/clk/clk-prima2.c | 84 
 1 file changed, 42 insertions(+), 42 deletions(-)

diff --git a/drivers/clk/clk-prima2.c b/drivers/clk/clk-prima2.c
index 517874f..a203ecc 100644
--- a/drivers/clk/clk-prima2.c
+++ b/drivers/clk/clk-prima2.c
@@ -1054,118 +1054,118 @@ void __init sirfsoc_of_clk_init(void)
/* These are always available (RTC and 26MHz OSC)*/
clk = clk_register_fixed_rate(NULL, "rtc", NULL,
CLK_IS_ROOT, 32768);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register_fixed_rate(NULL, "osc", NULL,
CLK_IS_ROOT, 2600);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
 
clk = clk_register(NULL, &clk_pll1.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register(NULL, &clk_pll2.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register(NULL, &clk_pll3.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register(NULL, &clk_mem.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register(NULL, &clk_sys.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register(NULL, &clk_security.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b803.security");
clk = clk_register(NULL, &clk_dsp.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register(NULL, &clk_gps.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "a801.gps");
clk = clk_register(NULL, &clk_mf.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk = clk_register(NULL, &clk_io.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "io");
clk = clk_register(NULL, &clk_cpu.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "cpu");
clk = clk_register(NULL, &clk_uart0.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b005.uart");
clk = clk_register(NULL, &clk_uart1.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b006.uart");
clk = clk_register(NULL, &clk_uart2.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b007.uart");
clk = clk_register(NULL, &clk_tsc.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b011.tsc");
clk = clk_register(NULL, &clk_i2c0.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b00e.i2c");
clk = clk_register(NULL, &clk_i2c1.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b00f.i2c");
clk = clk_register(NULL, &clk_spi0.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b00d.spi");
clk = clk_register(NULL, &clk_spi1.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b017.spi");
clk = clk_register(NULL, &clk_pwmc.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b013.pwm");
clk = clk_register(NULL, &clk_efuse.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b014.efusesys");
clk = clk_register(NULL, &clk_pulse.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b015.pulsec");
clk = clk_register(NULL, &clk_dmac0.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b00b.dma-controller");
clk = clk_register(NULL, &clk_dmac1.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b016.dma-controller");
clk = clk_register(NULL, &clk_nand.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b003.nand");
clk = clk_register(NULL, &clk_audio.hw);
-   BUG_ON(!clk);
+   BUG_ON(IS_ERR(clk));
clk_register_clkdev(clk, NULL, "b004.audio");
   

  1   2   3   4   5   6   7   8   >