diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-09 11:01:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-09 11:01:37 -0500 |
commit | f049274b012fd3b50113f194bfbbcbc3143d0da3 (patch) | |
tree | 15ef947c1959da3196d8dbc524b435972f6d37f7 /drivers/net | |
parent | b37df85960a34dd96d0a4695c650f7972ef56c30 (diff) | |
parent | 1539b98b561754252dd520b98fa03a688a4f81b5 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits)
[IPX]: Fix NULL pointer dereference on ipx unload
[ATM]: atmarp.h needs to always include linux/types.h
[NET]: Fix net/socket.c warnings.
[NET]: cleanup sock_from_file()
[NET]: change layout of ehash table
[S390]: Add AF_IUCV socket support
[S390]: Adapt special message interface to new IUCV API
[S390]: Adapt netiucv driver to new IUCV API
[S390]: Adapt vmlogrdr driver to new IUCV API
[S390]: Adapt monreader driver to new IUCV API
[S390]: Rewrite of the IUCV base code, part 2
[S390]: Rewrite of the IUCV base code, part 1
[X.25]: Adds /proc/net/x25/forward to view active forwarded calls.
[X.25]: Adds /proc/sys/net/x25/x25_forward to control forwarding.
[X.25]: Add call forwarding
[XFRM]: xfrm_migrate() needs exporting to modules.
[PFKEYV2]: CONFIG_NET_KEY_MIGRATE option
[PFKEYV2]: Extension for dynamic update of endpoint address(es)
[XFRM]: CONFIG_XFRM_MIGRATE option
[XFRM]: User interface for handling XFRM_MSG_MIGRATE
...
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/bonding/bond_alb.c | 4 | ||||
-rw-r--r-- | drivers/net/bonding/bond_main.c | 4 | ||||
-rw-r--r-- | drivers/net/slip.c | 5 | ||||
-rw-r--r-- | drivers/net/tg3.c | 2 |
4 files changed, 4 insertions, 11 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index 32923162179e..217a2eedee0a 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c | |||
@@ -184,7 +184,7 @@ static int tlb_initialize(struct bonding *bond) | |||
184 | 184 | ||
185 | spin_lock_init(&(bond_info->tx_hashtbl_lock)); | 185 | spin_lock_init(&(bond_info->tx_hashtbl_lock)); |
186 | 186 | ||
187 | new_hashtbl = kmalloc(size, GFP_KERNEL); | 187 | new_hashtbl = kzalloc(size, GFP_KERNEL); |
188 | if (!new_hashtbl) { | 188 | if (!new_hashtbl) { |
189 | printk(KERN_ERR DRV_NAME | 189 | printk(KERN_ERR DRV_NAME |
190 | ": %s: Error: Failed to allocate TLB hash table\n", | 190 | ": %s: Error: Failed to allocate TLB hash table\n", |
@@ -195,8 +195,6 @@ static int tlb_initialize(struct bonding *bond) | |||
195 | 195 | ||
196 | bond_info->tx_hashtbl = new_hashtbl; | 196 | bond_info->tx_hashtbl = new_hashtbl; |
197 | 197 | ||
198 | memset(bond_info->tx_hashtbl, 0, size); | ||
199 | |||
200 | for (i = 0; i < TLB_HASH_TABLE_SIZE; i++) { | 198 | for (i = 0; i < TLB_HASH_TABLE_SIZE; i++) { |
201 | tlb_init_table_entry(&bond_info->tx_hashtbl[i], 1); | 199 | tlb_init_table_entry(&bond_info->tx_hashtbl[i], 1); |
202 | } | 200 | } |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index d3801a00d3d5..8ce8fec615ba 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -1343,14 +1343,12 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) | |||
1343 | "inaccurate.\n", bond_dev->name, slave_dev->name); | 1343 | "inaccurate.\n", bond_dev->name, slave_dev->name); |
1344 | } | 1344 | } |
1345 | 1345 | ||
1346 | new_slave = kmalloc(sizeof(struct slave), GFP_KERNEL); | 1346 | new_slave = kzalloc(sizeof(struct slave), GFP_KERNEL); |
1347 | if (!new_slave) { | 1347 | if (!new_slave) { |
1348 | res = -ENOMEM; | 1348 | res = -ENOMEM; |
1349 | goto err_undo_flags; | 1349 | goto err_undo_flags; |
1350 | } | 1350 | } |
1351 | 1351 | ||
1352 | memset(new_slave, 0, sizeof(struct slave)); | ||
1353 | |||
1354 | /* save slave's original flags before calling | 1352 | /* save slave's original flags before calling |
1355 | * netdev_set_master and dev_open | 1353 | * netdev_set_master and dev_open |
1356 | */ | 1354 | */ |
diff --git a/drivers/net/slip.c b/drivers/net/slip.c index a0806d262fc6..2f4b1de7a2b4 100644 --- a/drivers/net/slip.c +++ b/drivers/net/slip.c | |||
@@ -1343,15 +1343,12 @@ static int __init slip_init(void) | |||
1343 | printk(KERN_INFO "SLIP linefill/keepalive option.\n"); | 1343 | printk(KERN_INFO "SLIP linefill/keepalive option.\n"); |
1344 | #endif | 1344 | #endif |
1345 | 1345 | ||
1346 | slip_devs = kmalloc(sizeof(struct net_device *)*slip_maxdev, GFP_KERNEL); | 1346 | slip_devs = kzalloc(sizeof(struct net_device *)*slip_maxdev, GFP_KERNEL); |
1347 | if (!slip_devs) { | 1347 | if (!slip_devs) { |
1348 | printk(KERN_ERR "SLIP: Can't allocate slip devices array! Uaargh! (-> No SLIP available)\n"); | 1348 | printk(KERN_ERR "SLIP: Can't allocate slip devices array! Uaargh! (-> No SLIP available)\n"); |
1349 | return -ENOMEM; | 1349 | return -ENOMEM; |
1350 | } | 1350 | } |
1351 | 1351 | ||
1352 | /* Clear the pointer array, we allocate devices when we need them */ | ||
1353 | memset(slip_devs, 0, sizeof(struct net_device *)*slip_maxdev); | ||
1354 | |||
1355 | /* Fill in our line protocol discipline, and register it */ | 1352 | /* Fill in our line protocol discipline, and register it */ |
1356 | if ((status = tty_register_ldisc(N_SLIP, &sl_ldisc)) != 0) { | 1353 | if ((status = tty_register_ldisc(N_SLIP, &sl_ldisc)) != 0) { |
1357 | printk(KERN_ERR "SLIP: can't register line discipline (err = %d)\n", status); | 1354 | printk(KERN_ERR "SLIP: can't register line discipline (err = %d)\n", status); |
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 135c0987deae..e136bae61970 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -3380,7 +3380,7 @@ next_pkt: | |||
3380 | } | 3380 | } |
3381 | next_pkt_nopost: | 3381 | next_pkt_nopost: |
3382 | sw_idx++; | 3382 | sw_idx++; |
3383 | sw_idx %= TG3_RX_RCB_RING_SIZE(tp); | 3383 | sw_idx &= (TG3_RX_RCB_RING_SIZE(tp) - 1); |
3384 | 3384 | ||
3385 | /* Refresh hw_idx to see if there is new work */ | 3385 | /* Refresh hw_idx to see if there is new work */ |
3386 | if (sw_idx == hw_idx) { | 3386 | if (sw_idx == hw_idx) { |