Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Julia Lawall and committed by
Ralf Baechle
0fdd07f7 dbf763a2

+1 -1
+1 -1
drivers/video/gbefb.c
··· 1147 1147 gbefb_setup(options); 1148 1148 #endif 1149 1149 1150 - if (!request_region(GBE_BASE, sizeof(struct sgi_gbe), "GBE")) { 1150 + if (!request_mem_region(GBE_BASE, sizeof(struct sgi_gbe), "GBE")) { 1151 1151 printk(KERN_ERR "gbefb: couldn't reserve mmio region\n"); 1152 1152 ret = -EBUSY; 1153 1153 goto out_release_framebuffer;