Messages in this thread |  | | Date | Fri, 12 Oct 2001 07:52:47 -0700 (PDT) | From | Kirill Ratkin <> | Subject | I can loop dev_base only once. Why? |
| |
Hi. I have a problem.
I write module which scans network device list. I made:
int init(void) { struct net_device *dev, **dp;
printk("<1>Ok\n"); while ((dev = *dp) != NULL) { printk("<1>Searching ...\n"); write_lock_bh(&dev_base_lock);
/* ... here I change one fileld ... */
*dp = dev->next; write_unlock_bh(&dev_base_lock); } return 0; }
void cleanup(void) { while ((dev = *dp) != NULL) { write_lock_bh(&dev_base_lock);
/* ... here turn change back ... */
*dp = dev->next; write_unlock_bh(&dev_base_lock); } }
The problem: This code works only once. Then I remove module and start it again I see only 'Ok' string. Could you explain me where is problem?
Regards, Kirill.
__________________________________________________ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |