drivers/isdn/hisax: Drop unused list
authorJulia Lawall <julia@diku.dk>
Fri, 13 May 2011 04:15:39 +0000 (04:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 May 2011 20:10:00 +0000 (16:10 -0400)
The file st5481_init.c locally defines and initializes the adapter_list
variable, but does not use it for anything.  Removing the list makes it
possible to remove the list field from the st5481_adapter data structure.
In the function probe_st5481, it also makes it possible to free the locally
allocated adapter value on an error exit.

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/hisax/st5481.h
drivers/isdn/hisax/st5481_init.c

index 64f78a8..b9054cb 100644 (file)
@@ -377,7 +377,6 @@ struct st5481_bcs {
 };
 
 struct st5481_adapter {
-       struct list_head list;
        int number_of_leds;
        struct usb_device *usb_dev;
        struct hisax_d_if hisax_d_if;
index 1375123..9f7fd18 100644 (file)
@@ -46,8 +46,6 @@ module_param(debug, int, 0);
 #endif
 int st5481_debug;
 
-static LIST_HEAD(adapter_list);
-
 /* ======================================================================
  * registration/deregistration with the USB layer
  */
@@ -86,7 +84,6 @@ static int probe_st5481(struct usb_interface *intf,
                adapter->bcs[i].b_if.ifc.priv = &adapter->bcs[i];
                adapter->bcs[i].b_if.ifc.l2l1 = st5481_b_l2l1;
        }
-       list_add(&adapter->list, &adapter_list);
 
        retval = st5481_setup_usb(adapter);
        if (retval < 0)
@@ -125,6 +122,7 @@ static int probe_st5481(struct usb_interface *intf,
  err_usb:
        st5481_release_usb(adapter);
  err:
+       kfree(adapter);
        return -EIO;
 }
 
@@ -142,8 +140,6 @@ static void disconnect_st5481(struct usb_interface *intf)
        if (!adapter)
                return;
        
-       list_del(&adapter->list);
-
        st5481_stop(adapter);
        st5481_release_b(&adapter->bcs[1]);
        st5481_release_b(&adapter->bcs[0]);