mac802154: cleanup open count handling
authorAlexander Aring <alex.aring@gmail.com>
Tue, 28 Oct 2014 17:21:31 +0000 (18:21 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 28 Oct 2014 22:19:09 +0000 (23:19 +0100)
This patch cleanups the open_count variable increment in open and close
calls of netdev.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/mac802154/iface.c

index 1c0274ed93708a0ee720f204aaaa87cbe38aab31..c0bf5f9b99536e83943142782153b92ee97eb731 100644 (file)
@@ -166,19 +166,19 @@ static int mac802154_slave_open(struct net_device *dev)
 
        set_bit(SDATA_STATE_RUNNING, &sdata->state);
 
-       if (local->open_count++ == 0) {
+       if (!local->open_count) {
                res = drv_start(local);
                WARN_ON(res);
                if (res)
                        goto err;
        }
 
+       local->open_count++;
        netif_start_queue(dev);
        return 0;
 err:
        /* might already be clear but that doesn't matter */
        clear_bit(SDATA_STATE_RUNNING, &sdata->state);
-       sdata->local->open_count--;
 
        return res;
 }
@@ -252,10 +252,11 @@ static int mac802154_slave_close(struct net_device *dev)
        ASSERT_RTNL();
 
        netif_stop_queue(dev);
+       local->open_count--;
 
        clear_bit(SDATA_STATE_RUNNING, &sdata->state);
 
-       if (!--local->open_count)
+       if (!local->open_count)
                drv_stop(local);
 
        return 0;