From: Greg Kroah-Hartman Date: Wed, 10 Apr 2013 22:32:57 +0000 (-0700) Subject: 3.8-stable patches X-Git-Tag: v3.0.73~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c750d9126971e7a2e720d1c0965ffb81f1349de1;p=thirdparty%2Fkernel%2Fstable-queue.git 3.8-stable patches added patches: can-gw-use-kmem_cache_free-instead-of-kfree.patch mwifiex-complete-last-internal-scan.patch nfsv4-doh-typo-in-the-fix-to-nfs41_walk_client_list.patch rt2x00-rt2x00pci_regbusy_read-only-print-register-access-failure-once.patch --- diff --git a/queue-3.8/can-gw-use-kmem_cache_free-instead-of-kfree.patch b/queue-3.8/can-gw-use-kmem_cache_free-instead-of-kfree.patch new file mode 100644 index 00000000000..ab4cccb812b --- /dev/null +++ b/queue-3.8/can-gw-use-kmem_cache_free-instead-of-kfree.patch @@ -0,0 +1,50 @@ +From 3480a2125923e4b7a56d79efc76743089bf273fc Mon Sep 17 00:00:00 2001 +From: Wei Yongjun +Date: Tue, 9 Apr 2013 14:16:04 +0800 +Subject: can: gw: use kmem_cache_free() instead of kfree() + +From: Wei Yongjun + +commit 3480a2125923e4b7a56d79efc76743089bf273fc upstream. + +Memory allocated by kmem_cache_alloc() should be freed using +kmem_cache_free(), not kfree(). + +Signed-off-by: Wei Yongjun +Acked-by: Oliver Hartkopp +Signed-off-by: Marc Kleine-Budde +Signed-off-by: Greg Kroah-Hartman + +--- + net/can/gw.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/net/can/gw.c ++++ b/net/can/gw.c +@@ -436,7 +436,7 @@ static int cgw_notifier(struct notifier_ + if (gwj->src.dev == dev || gwj->dst.dev == dev) { + hlist_del(&gwj->list); + cgw_unregister_filter(gwj); +- kfree(gwj); ++ kmem_cache_free(cgw_cache, gwj); + } + } + } +@@ -829,7 +829,7 @@ static void cgw_remove_all_jobs(void) + hlist_for_each_entry_safe(gwj, n, nx, &cgw_list, list) { + hlist_del(&gwj->list); + cgw_unregister_filter(gwj); +- kfree(gwj); ++ kmem_cache_free(cgw_cache, gwj); + } + } + +@@ -885,7 +885,7 @@ static int cgw_remove_job(struct sk_buff + + hlist_del(&gwj->list); + cgw_unregister_filter(gwj); +- kfree(gwj); ++ kmem_cache_free(cgw_cache, gwj); + err = 0; + break; + } diff --git a/queue-3.8/mwifiex-complete-last-internal-scan.patch b/queue-3.8/mwifiex-complete-last-internal-scan.patch new file mode 100644 index 00000000000..fe93988c76f --- /dev/null +++ b/queue-3.8/mwifiex-complete-last-internal-scan.patch @@ -0,0 +1,52 @@ +From 21de979ecfc7b7f9442f8aea9a54b3ab670d0151 Mon Sep 17 00:00:00 2001 +From: Bing Zhao +Date: Mon, 1 Apr 2013 12:44:45 -0700 +Subject: mwifiex: complete last internal scan + +From: Bing Zhao + +commit 21de979ecfc7b7f9442f8aea9a54b3ab670d0151 upstream. + +We are waiting on first scan command of internal scan request +before association, so we should complete on last internal scan +command response. + +Tested-by: Daniel Drake +Tested-by: Marco Cesarano +Signed-off-by: Bing Zhao +Signed-off-by: Amitkumar Karwar +Signed-off-by: John W. Linville +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/mwifiex/scan.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +--- a/drivers/net/wireless/mwifiex/scan.c ++++ b/drivers/net/wireless/mwifiex/scan.c +@@ -1371,8 +1371,10 @@ int mwifiex_scan_networks(struct mwifiex + queue_work(adapter->workqueue, &adapter->main_work); + + /* Perform internal scan synchronously */ +- if (!priv->scan_request) ++ if (!priv->scan_request) { ++ dev_dbg(adapter->dev, "wait internal scan\n"); + mwifiex_wait_queue_complete(adapter, cmd_node); ++ } + } else { + spin_unlock_irqrestore(&adapter->scan_pending_q_lock, + flags); +@@ -1768,7 +1770,12 @@ check_next_scan: + /* Need to indicate IOCTL complete */ + if (adapter->curr_cmd->wait_q_enabled) { + adapter->cmd_wait_q.status = 0; +- mwifiex_complete_cmd(adapter, adapter->curr_cmd); ++ if (!priv->scan_request) { ++ dev_dbg(adapter->dev, ++ "complete internal scan\n"); ++ mwifiex_complete_cmd(adapter, ++ adapter->curr_cmd); ++ } + } + if (priv->report_scan_result) + priv->report_scan_result = false; diff --git a/queue-3.8/nfsv4-doh-typo-in-the-fix-to-nfs41_walk_client_list.patch b/queue-3.8/nfsv4-doh-typo-in-the-fix-to-nfs41_walk_client_list.patch new file mode 100644 index 00000000000..43c2d832012 --- /dev/null +++ b/queue-3.8/nfsv4-doh-typo-in-the-fix-to-nfs41_walk_client_list.patch @@ -0,0 +1,30 @@ +From eb04e0ac198cec3bab407ad220438dfa65c19c67 Mon Sep 17 00:00:00 2001 +From: Trond Myklebust +Date: Wed, 10 Apr 2013 12:44:18 -0400 +Subject: NFSv4: Doh! Typo in the fix to nfs41_walk_client_list + +From: Trond Myklebust + +commit eb04e0ac198cec3bab407ad220438dfa65c19c67 upstream. + +Make sure that we set the status to 0 on success. Missed in testing +because it never appears when doing multiple mounts to _different_ +servers. + +Signed-off-by: Trond Myklebust +Signed-off-by: Greg Kroah-Hartman + +--- + fs/nfs/nfs4client.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/fs/nfs/nfs4client.c ++++ b/fs/nfs/nfs4client.c +@@ -482,6 +482,7 @@ int nfs41_walk_client_list(struct nfs_cl + + atomic_inc(&pos->cl_count); + *result = pos; ++ status = 0; + dprintk("NFS: <-- %s using nfs_client = %p ({%d})\n", + __func__, pos, atomic_read(&pos->cl_count)); + break; diff --git a/queue-3.8/rt2x00-rt2x00pci_regbusy_read-only-print-register-access-failure-once.patch b/queue-3.8/rt2x00-rt2x00pci_regbusy_read-only-print-register-access-failure-once.patch new file mode 100644 index 00000000000..4fe039251f3 --- /dev/null +++ b/queue-3.8/rt2x00-rt2x00pci_regbusy_read-only-print-register-access-failure-once.patch @@ -0,0 +1,43 @@ +From 83589b30f1e1dc9898986293c9336b8ce1705dec Mon Sep 17 00:00:00 2001 +From: Tim Gardner +Date: Mon, 18 Feb 2013 12:56:28 -0700 +Subject: rt2x00: rt2x00pci_regbusy_read() - only print register access failure once + +From: Tim Gardner + +commit 83589b30f1e1dc9898986293c9336b8ce1705dec upstream. + +BugLink: http://bugs.launchpad.net/bugs/1128840 + +It appears that when this register read fails it never recovers, so +I think there is no need to repeat the same error message ad infinitum. + +Signed-off-by: Tim Gardner +Cc: Ivo van Doorn +Cc: Gertjan van Wingerde +Cc: Helmut Schaa +Cc: "John W. Linville" +Cc: linux-wireless@vger.kernel.org +Cc: users@rt2x00.serialmonkey.com +Cc: netdev@vger.kernel.org +Cc: stable@vger.kernel.org +Signed-off-by: John W. Linville +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/rt2x00/rt2x00pci.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/wireless/rt2x00/rt2x00pci.c ++++ b/drivers/net/wireless/rt2x00/rt2x00pci.c +@@ -52,8 +52,8 @@ int rt2x00pci_regbusy_read(struct rt2x00 + udelay(REGISTER_BUSY_DELAY); + } + +- ERROR(rt2x00dev, "Indirect register access failed: " +- "offset=0x%.08x, value=0x%.08x\n", offset, *reg); ++ printk_once(KERN_ERR "%s() Indirect register access failed: " ++ "offset=0x%.08x, value=0x%.08x\n", __func__, offset, *reg); + *reg = ~0; + + return 0; diff --git a/queue-3.8/series b/queue-3.8/series index 619eb4f721e..303ca83376f 100644 --- a/queue-3.8/series +++ b/queue-3.8/series @@ -58,3 +58,7 @@ drm-i915-add-quirk-to-invert-brightness-on-emachines-e725.patch drm-i915-add-quirk-to-invert-brightness-on-packard-bell-ncl20.patch r8169-fix-auto-speed-down-issue.patch vfio-pci-fix-possible-integer-overflow.patch +nfsv4-doh-typo-in-the-fix-to-nfs41_walk_client_list.patch +can-gw-use-kmem_cache_free-instead-of-kfree.patch +mwifiex-complete-last-internal-scan.patch +rt2x00-rt2x00pci_regbusy_read-only-print-register-access-failure-once.patch