Using gCardIndex as global variable was not correctly used because for every plugged device was set to 0 in init_ft1000_netdev. Remove global definition. Use it locally and for every plugged device extract number from net device name. Signed-off-by: Marek Belisko <marek.belisko@xxxxxxxxxxxxxxx> --- drivers/staging/ft1000/ft1000-usb/ft1000_hw.c | 14 +------------- 1 files changed, 1 insertions(+), 13 deletions(-) diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c index 7456787..643a637 100644 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c @@ -41,7 +41,6 @@ static int ft1000_chkcard (struct ft1000_device *dev); //Jim static u8 tempbuffer[1600]; -static unsigned long gCardIndex; #define MAX_RCV_LOOP 100 @@ -773,8 +772,7 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev) int i, ret_val; struct list_head *cur, *tmp; char card_nr[2]; - - gCardIndex=0; //mbelian + unsigned long gCardIndex = 0; DEBUG("Enter init_ft1000_netdev...\n"); @@ -794,9 +792,6 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev) dev_alloc_name(netdev, netdev->name); - //for the first inserted card, decide the card index beginning number, in case there are existing network interfaces - if ( gCardIndex == 0 ) - { DEBUG("init_ft1000_netdev: network device name is %s\n", netdev->name); if ( strncmp(netdev->name,"eth", 3) == 0) { @@ -816,13 +811,6 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev) ret_val = -ENXIO; goto err_net; } - } - else - { - //not the first inserted card, increase card number by 1 - pInfo->CardNumber = gCardIndex; - /*DEBUG("card number = %d\n", pInfo->CardNumber);*/ //mbelian - } memset(&pInfo->stats, 0, sizeof(struct net_device_stats) ); -- 1.7.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel