This patch fixes the commit "staging/gdm72xx: cleanup little at
gdm_wimax_event_rcv" (8df858ea76b76dde9a39d4edd9aaded983582cfe),
which mishandles the reference counting of wm_event.

Signed-off-by: Ben Chan <benc...@chromium.org>
---
Fixed the commit message as suggested by Dan Carpenter.

 drivers/staging/gdm72xx/gdm_wimax.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/gdm72xx/gdm_wimax.c 
b/drivers/staging/gdm72xx/gdm_wimax.c
index 0716efc..6cb8107 100644
--- a/drivers/staging/gdm72xx/gdm_wimax.c
+++ b/drivers/staging/gdm72xx/gdm_wimax.c
@@ -258,12 +258,16 @@ static int gdm_wimax_event_init(void)
        if (!wm_event.ref_cnt) {
                wm_event.sock = netlink_init(NETLINK_WIMAX,
                                                gdm_wimax_event_rcv);
-               if (wm_event.sock)
-                       wm_event.ref_cnt++;
-               INIT_LIST_HEAD(&wm_event.evtq);
-               INIT_LIST_HEAD(&wm_event.freeq);
-               INIT_WORK(&wm_event.ws, __gdm_wimax_event_send);
-               spin_lock_init(&wm_event.evt_lock);
+               if (wm_event.sock) {
+                       INIT_LIST_HEAD(&wm_event.evtq);
+                       INIT_LIST_HEAD(&wm_event.freeq);
+                       INIT_WORK(&wm_event.ws, __gdm_wimax_event_send);
+                       spin_lock_init(&wm_event.evt_lock);
+               }
+       }
+
+       if (wm_event.sock) {
+               wm_event.ref_cnt++;
                return 0;
        }
 
-- 
1.7.7.3

--
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/

Reply via email to