diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2012-02-19 04:43:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-02-19 18:57:51 -0500 |
commit | 8ae0cfee2a727f698bda12e530f4879a9793c6c9 (patch) | |
tree | b7f1fd01e36a19c6f4acc285723d1f049d7860c9 /drivers/atm | |
parent | 32aa64f77e032511079fec5ec0465aeb6d6c3891 (diff) |
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 5d1d07645132..e8cd652d2017 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) | |||
1206 | 1206 | ||
1207 | out_unmap_both: | 1207 | out_unmap_both: |
1208 | pci_set_drvdata(dev, NULL); | 1208 | pci_set_drvdata(dev, NULL); |
1209 | pci_iounmap(dev, card->config_regs); | ||
1210 | out_unmap_config: | ||
1211 | pci_iounmap(dev, card->buffers); | 1209 | pci_iounmap(dev, card->buffers); |
1210 | out_unmap_config: | ||
1211 | pci_iounmap(dev, card->config_regs); | ||
1212 | out_release_regions: | 1212 | out_release_regions: |
1213 | pci_release_regions(dev); | 1213 | pci_release_regions(dev); |
1214 | out: | 1214 | out: |