Skip to content

Commit

Permalink
firewire: ohci: Misleading kfree in ohci.c::pci_probe/remove
Browse files Browse the repository at this point in the history
It seems drivers/firewire/ohci.c is making some optimistic assumptions
about struct fw_ohci and that member "card" will always remain the first
member of the struct.
Plus it's probably going to confuse a lot of static code analyzers too.

So I wonder if there is a good reason not to free the ohci struct just
like it was allocated instead of the tricky &ohci->card way?

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>

It is perhaps just a rudiment from before mainline submission of the
driver.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
  • Loading branch information
Oleg Drokin authored and Stefan Richter committed Mar 14, 2011
1 parent b6258fc commit d838d2c
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/firewire/ohci.c
Original file line number Diff line number Diff line change
Expand Up @@ -3309,7 +3309,7 @@ static int __devinit pci_probe(struct pci_dev *dev,
fail_disable:
pci_disable_device(dev);
fail_free:
kfree(&ohci->card);
kfree(ohci);
pmac_ohci_off(dev);
fail:
if (err == -ENOMEM)
Expand Down Expand Up @@ -3353,7 +3353,7 @@ static void pci_remove(struct pci_dev *dev)
pci_iounmap(dev, ohci->registers);
pci_release_region(dev, 0);
pci_disable_device(dev);
kfree(&ohci->card);
kfree(ohci);
pmac_ohci_off(dev);

fw_notify("Removed fw-ohci device.\n");
Expand Down

0 comments on commit d838d2c

Please sign in to comment.