Hi all, 
 
Here is the first patch for kernel 2.6.13 from Linus tree.

-- 
Stephane Wirtel <[EMAIL PROTECTED]>
                <[EMAIL PROTECTED]>


diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
--- a/drivers/pnp/resource.c
+++ b/drivers/pnp/resource.c
@@ -242,6 +242,7 @@ int pnp_check_port(struct pnp_dev * dev,
        int tmp;
        struct pnp_dev *tdev;
        unsigned long *port, *end, *tport, *tend;
+       struct resource *res = 0;
        port = &dev->res.port_resource[idx].start;
        end = &dev->res.port_resource[idx].end;
 
@@ -252,8 +253,12 @@ int pnp_check_port(struct pnp_dev * dev,
        /* check if the resource is already in use, skip if the
         * device is active because it itself may be in use */
        if(!dev->active) {
-               if (__check_region(&ioport_resource, *port, length(port,end)))
+               res = __request_region(&ioport_resource, *port, 
length(port,end), "check-region");
+               if (res) {
+                       release_resource (res);
+                       kfree (res);
                        return 0;
+               }
        }
 
        /* check if the resource is reserved */
@@ -298,6 +303,7 @@ int pnp_check_mem(struct pnp_dev * dev, 
        int tmp;
        struct pnp_dev *tdev;
        unsigned long *addr, *end, *taddr, *tend;
+       struct resource *res = 0;
        addr = &dev->res.mem_resource[idx].start;
        end = &dev->res.mem_resource[idx].end;
 
@@ -308,8 +314,12 @@ int pnp_check_mem(struct pnp_dev * dev, 
        /* check if the resource is already in use, skip if the
         * device is active because it itself may be in use */
        if(!dev->active) {
-               if (check_mem_region(*addr, length(addr,end)))
+               res == __request_region(&iomem_resource, *addr, length(addr, 
end), "check-region");
+               if (res) {
+                       release_resource (res);
+                       kfree (res);
                        return 0;
+               }
        }
 
        /* check if the resource is reserved */

Reply via email to