http://bugzilla.kernel.org/show_bug.cgi?id=8485

           Summary: cmm_cm4000_release wants a "struct pcmcia_device *" arg,
                    but cm4000_release gives it a "struct cm4000_dev *"
    Kernel Version: 2.6.18
            Status: NEW
          Severity: normal
             Owner: [email protected]
         Submitter: [EMAIL PROTECTED]


Most recent kernel where this bug did *NOT* occur:
Distribution:
Hardware Environment:
Software Environment:
Problem Description:
These exerpts from linux-2.6.18/drivers/char/pcmcia/cm4000_cs.c show an
inconsistency:  "cmm_cm4000_release" takes a "struct pcmcia_device *"
argument, but "cm4000_release" is giving it a "struct cm4000_dev *"
argument.  I don't have the means to test this (I'm studying the code
as an example).

struct cm4000_dev {
        struct pcmcia_device *p_dev;
.....
}

static void cmm_cm4000_release(struct pcmcia_device * link)
{
        struct cm4000_dev *dev = link->priv;
.....
                wait_event(dev->devq, (link->open == 0));
.....
}

static void cm4000_release(struct pcmcia_device *link)
{
        cmm_cm4000_release(link->priv); /* delay release until device closed */
        pcmcia_disable_device(link);
}

static int cm4000_probe(struct pcmcia_device *link)
{
        struct cm4000_dev *dev;
.....
        dev->p_dev = link;
        link->priv = dev;
.....
}

Other stuff:
-- cmm_open has variable "rc" which is set to 0 but not used
-- where cm4000_config calls pcmcia_request_configuration, in case of error it
sets fail_fn and goes to cs_release.  I think that should be cs_failed.



Steps to reproduce:

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

_______________________________________________
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia

Reply via email to