diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2012-02-19 09:43:32 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-02-19 18:57:51 -0500 |
commit | 8ae0cfee2a727f698bda12e530f4879a9793c6c9 (patch) | |
tree | b7f1fd01e36a19c6f4acc285723d1f049d7860c9 /drivers/atm | |
parent | 32aa64f77e032511079fec5ec0465aeb6d6c3891 (diff) | |
download | op-kernel-dev-8ae0cfee2a727f698bda12e530f4879a9793c6c9.zip op-kernel-dev-8ae0cfee2a727f698bda12e530f4879a9793c6c9.tar.gz |
drivers/atm/solos-pci.c: exchange pci_iounmaps
The calls to pci_iounmap are in the wrong order, as compared to the
associated calls to pci_iomap.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
expression e,x;
statement S,S1;
int ret;
@@
e = pci_iomap(x,...)
... when != pci_iounmap(x,e)
if (<+...e...+>) S
... when any
when != pci_iounmap(x,e)
*if (...)
{ ... when != pci_iounmap(x,e)
return ...; }
... when any
pci_iounmap(x,e);
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm')
-rw-r--r-- | drivers/atm/solos-pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c index 5d1d076..e8cd652 100644 --- a/drivers/atm/solos-pci.c +++ b/drivers/atm/solos-pci.c @@ -1206,9 +1206,9 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id) out_unmap_both: pci_set_drvdata(dev, NULL); - pci_iounmap(dev, card->config_regs); - out_unmap_config: pci_iounmap(dev, card->buffers); + out_unmap_config: + pci_iounmap(dev, card->config_regs); out_release_regions: pci_release_regions(dev); out: |