pasemi_mac: mac_to_intf() error not noticed
Subsystems (3)
PATCH 1/1 pasemi_mac: mac_to_intf() error not noticed
mac_to_intf() can return -1 when no device or function was found, but when mac->dma_if is unsigned. The error wasn't noticed.
---
drivers/net/pasemi_mac.c +3 -2
@@ -1798,12 +1798,13 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent) }memcpy (dev->dev_addr, mac->mac_addr,sizeof (mac->mac_addr)); - mac->dma_if =mac_to_intf (mac); -if (mac->dma_if <0 ) { + err =mac_to_intf (mac); +if (err <0 ) {dev_err (&mac->pdev->dev,"Can't map DMA interface\n" ); err = -ENODEV ; goto out; } + mac->dma_if = err;switch (pdev->device) {case 0xa005 :
Quoted 2 lines · Roel Kluin
mac_to_intf()can return -1 when no device or function was found, but whenmac->dma_ifis unsigned. The error wasn't noticed.
This can in practice never happen which is likely why it went unnoticed.
I object to the usage of err in the way you use it, it's completely counterintuitive to name a variable that will hold valid data to 'err'.
So, define a new variable with an appropriate name, please.
-Olof
Quoted 5 lines · Olof Johansson
On Thu, Apr 23, 2009 at 07:44:09PM +0200, Roel Kluin wrote:
This can in practice never happen which is likely why it went unnoticed.define a new variable with an appropriate name, please.
Ok, how's this? --------------------------->8-------------8<------------------------------ mac_to_intf() can return -1 when no device or function is found, but when mac->dma_if is unsigned. The error wasn't noticed.
---
drivers/net/pasemi_mac.c +4 -3
@@ -1740,7 +1740,7 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent) {struct net_device *dev;struct pasemi_mac *mac; -int err; +int err, ret; err =pci_enable_device (pdev);if (err)
@@ -1798,12 +1798,13 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent) }memcpy (dev->dev_addr, mac->mac_addr,sizeof (mac->mac_addr)); - mac->dma_if =mac_to_intf (mac); -if (mac->dma_if <0 ) { + ret =mac_to_intf (mac); +if (ret <0 ) {dev_err (&mac->pdev->dev,"Can't map DMA interface\n" ); err = -ENODEV ; goto out; } + mac->dma_if = ret;switch (pdev->device) {case 0xa005 :
Olof Johansson
Acked-byQuoted 8 lines · Roel Kluin
Quoted 5 lines · Olof Johansson
On Thu, Apr 23, 2009 at 07:44:09PM +0200, Roel Kluin wrote:
This can in practice never happen which is likely why it went unnoticed.define a new variable with an appropriate name, please.
Ok, how's this?
Good, but you might have to repost without the email trail above the patch description. Normally putting it under the signed-off-by line with three dashes between will make sure it doesn't get picked up by the git tools.
Anyway, that's all up to Dave, if you end up reposting feel free to add:
Quoted 5 lines
--------------------------->8-------------8<------------------------------
mac_to_intf()can return -1 when no device or function is found, but whenmac->dma_ifis unsigned. The error wasn't noticed.Signed-off-by Roel Kluin <[email protected]>
David Miller
maintainerFrom: Olof Johansson <[email protected]>
Date: Thu, 23 Apr 2009 14:54:03 -0500
Quoted 1 line
Anyway, that's all up to Dave, if you end up reposting feel free to add:
...
Quoted 1 line
Acked-by Olof Johansson <[email protected]>
Patch applied to net-next-2.6