diff options
author | Julia Lawall <julia@diku.dk> | 2009-08-09 05:42:32 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-08-05 08:25:38 -0400 |
commit | 26692f53ef550f7b8dc43fc5171c6187094632a8 (patch) | |
tree | 88ea9abcb60bc389ec940d413a0f34a9f85eb0b1 /drivers | |
parent | 9fe6206f400646a2322096b56c59891d530e8d51 (diff) |
VIDEO: Correct use of request_region/request_mem_region
request_region should be used with release_region, not request_mem_region.
Geert Uytterhoeven pointed out that in the case of drivers/video/gbefb.c,
the problem is actually the other way around; request_mem_region should be
used instead of request_region.
The semantic patch that finds/fixes this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r1@
expression start;
@@
request_region(start,...)
@b1@
expression r1.start;
@@
request_mem_region(start,...)
@depends on !b1@
expression r1.start;
expression E;
@@
- release_mem_region
+ release_region
(start,E)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/tdfxfb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c index 980548390048..3ee5e63cfa4f 100644 --- a/drivers/video/tdfxfb.c +++ b/drivers/video/tdfxfb.c | |||
@@ -1571,8 +1571,8 @@ out_err_iobase: | |||
1571 | if (default_par->mtrr_handle >= 0) | 1571 | if (default_par->mtrr_handle >= 0) |
1572 | mtrr_del(default_par->mtrr_handle, info->fix.smem_start, | 1572 | mtrr_del(default_par->mtrr_handle, info->fix.smem_start, |
1573 | info->fix.smem_len); | 1573 | info->fix.smem_len); |
1574 | release_mem_region(pci_resource_start(pdev, 2), | 1574 | release_region(pci_resource_start(pdev, 2), |
1575 | pci_resource_len(pdev, 2)); | 1575 | pci_resource_len(pdev, 2)); |
1576 | out_err_screenbase: | 1576 | out_err_screenbase: |
1577 | if (info->screen_base) | 1577 | if (info->screen_base) |
1578 | iounmap(info->screen_base); | 1578 | iounmap(info->screen_base); |