On Friday 19 October 2007 04:40:22 pm Russell King wrote: > On Fri, Oct 19, 2007 at 10:51:51AM -0600, Bjorn Helgaas wrote:
> > + priv->io_resource = request_region(link->io.BasePort1, > > + link->io.NumPorts1, DRIVER_NAME); > > + if (!priv->io_resource) > > + goto cs_failed; > > mem = ioport_map(link->io.BasePort1, link->io.NumPorts1); > > if (!mem) > > goto cs_failed; > > @@ -366,6 +370,10 @@ > > pcmcia_disable_device(link); > > if (priv->hw.iobase) > > ioport_unmap(priv->hw.iobase); > > + if (priv->io_resource) { > > + release_resource(priv->io_resource); > > + priv->io_resource = NULL; > > Wrong function. release_resource() doesn't pair with request_region(). > request_region() allocates memory for the struct resource. > release_resource() merely removes the struct resource from the tree. > release_region() on the other hand removes the struct resource and > frees it. Oh, thanks! I didn't notice that difference between release_region() and release_resource(). I'll fix the patch. Bjorn - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/