diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-23 14:13:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-23 14:13:19 -0400 |
commit | 66c7d2f1d9cb19e46717b26fb49550b5e82985fe (patch) | |
tree | dd9624a28fe20cefa2fd4390abd0e0fa611f3a7e | |
parent | 36e82dfda526e2dea26060e8766bda5a8110c4e6 (diff) | |
parent | c3b99f0db9b2ef4292ef774bae1ea0d6f1e8d82a (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SUNHME]: Fix module unload.
[SUNLANCE]: Fix module unload.
[SUNQE]: Fix MAC address assignment.
[SBUS] vfc_dev.c: kzalloc
-rw-r--r-- | drivers/net/sunhme.c | 2 | ||||
-rw-r--r-- | drivers/net/sunlance.c | 4 | ||||
-rw-r--r-- | drivers/net/sunqe.c | 4 | ||||
-rw-r--r-- | drivers/sbus/char/vfc_dev.c | 3 |
4 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index ef671739cfea..192bbc91c731 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c | |||
@@ -3314,7 +3314,7 @@ static int __devexit hme_sbus_remove(struct of_device *dev) | |||
3314 | struct happy_meal *hp = dev_get_drvdata(&dev->dev); | 3314 | struct happy_meal *hp = dev_get_drvdata(&dev->dev); |
3315 | struct net_device *net_dev = hp->dev; | 3315 | struct net_device *net_dev = hp->dev; |
3316 | 3316 | ||
3317 | unregister_netdevice(net_dev); | 3317 | unregister_netdev(net_dev); |
3318 | 3318 | ||
3319 | /* XXX qfe parent interrupt... */ | 3319 | /* XXX qfe parent interrupt... */ |
3320 | 3320 | ||
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c index 5b00d79b5573..b0929a457b60 100644 --- a/drivers/net/sunlance.c +++ b/drivers/net/sunlance.c | |||
@@ -1550,7 +1550,7 @@ static int __exit sunlance_sun4_remove(void) | |||
1550 | struct lance_private *lp = dev_get_drvdata(&sun4_sdev.ofdev.dev); | 1550 | struct lance_private *lp = dev_get_drvdata(&sun4_sdev.ofdev.dev); |
1551 | struct net_device *net_dev = lp->dev; | 1551 | struct net_device *net_dev = lp->dev; |
1552 | 1552 | ||
1553 | unregister_netdevice(net_dev); | 1553 | unregister_netdev(net_dev); |
1554 | 1554 | ||
1555 | lance_free_hwresources(lp); | 1555 | lance_free_hwresources(lp); |
1556 | 1556 | ||
@@ -1590,7 +1590,7 @@ static int __devexit sunlance_sbus_remove(struct of_device *dev) | |||
1590 | struct lance_private *lp = dev_get_drvdata(&dev->dev); | 1590 | struct lance_private *lp = dev_get_drvdata(&dev->dev); |
1591 | struct net_device *net_dev = lp->dev; | 1591 | struct net_device *net_dev = lp->dev; |
1592 | 1592 | ||
1593 | unregister_netdevice(net_dev); | 1593 | unregister_netdev(net_dev); |
1594 | 1594 | ||
1595 | lance_free_hwresources(lp); | 1595 | lance_free_hwresources(lp); |
1596 | 1596 | ||
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c index 7874eb1ef043..f3bad56d476a 100644 --- a/drivers/net/sunqe.c +++ b/drivers/net/sunqe.c | |||
@@ -845,6 +845,8 @@ static int __init qec_ether_init(struct sbus_dev *sdev) | |||
845 | if (!dev) | 845 | if (!dev) |
846 | return -ENOMEM; | 846 | return -ENOMEM; |
847 | 847 | ||
848 | memcpy(dev->dev_addr, idprom->id_ethaddr, 6); | ||
849 | |||
848 | qe = netdev_priv(dev); | 850 | qe = netdev_priv(dev); |
849 | 851 | ||
850 | i = of_getintprop_default(sdev->ofdev.node, "channel#", -1); | 852 | i = of_getintprop_default(sdev->ofdev.node, "channel#", -1); |
@@ -960,7 +962,7 @@ static int __devexit qec_sbus_remove(struct of_device *dev) | |||
960 | struct sunqe *qp = dev_get_drvdata(&dev->dev); | 962 | struct sunqe *qp = dev_get_drvdata(&dev->dev); |
961 | struct net_device *net_dev = qp->dev; | 963 | struct net_device *net_dev = qp->dev; |
962 | 964 | ||
963 | unregister_netdevice(net_dev); | 965 | unregister_netdev(net_dev); |
964 | 966 | ||
965 | sbus_iounmap(qp->qcregs, CREG_REG_SIZE); | 967 | sbus_iounmap(qp->qcregs, CREG_REG_SIZE); |
966 | sbus_iounmap(qp->mregs, MREGS_REG_SIZE); | 968 | sbus_iounmap(qp->mregs, MREGS_REG_SIZE); |
diff --git a/drivers/sbus/char/vfc_dev.c b/drivers/sbus/char/vfc_dev.c index 8bfb67ccdcd4..c3135e2fbd5a 100644 --- a/drivers/sbus/char/vfc_dev.c +++ b/drivers/sbus/char/vfc_dev.c | |||
@@ -259,11 +259,10 @@ static int vfc_debug(struct vfc_dev *dev, int cmd, void __user *argp) | |||
259 | if (copy_from_user(&inout, argp, sizeof(inout))) | 259 | if (copy_from_user(&inout, argp, sizeof(inout))) |
260 | return -EFAULT; | 260 | return -EFAULT; |
261 | 261 | ||
262 | buffer = kmalloc(inout.len, GFP_KERNEL); | 262 | buffer = kzalloc(inout.len, GFP_KERNEL); |
263 | if (buffer == NULL) | 263 | if (buffer == NULL) |
264 | return -ENOMEM; | 264 | return -ENOMEM; |
265 | 265 | ||
266 | memset(buffer,0,inout.len); | ||
267 | vfc_lock_device(dev); | 266 | vfc_lock_device(dev); |
268 | inout.ret= | 267 | inout.ret= |
269 | vfc_i2c_recvbuf(dev,inout.addr & 0xff | 268 | vfc_i2c_recvbuf(dev,inout.addr & 0xff |