From: Wolfram Sang <[email protected]>

Commit a56bc69a182f501582557af7fad5bc882b1c856c fixed a wrong usage of
list_add_tail() within store_new_id() for PCI. Port the fix to PCMCIA,
which adapted this function from PCI.

Signed-off-by: Wolfram Sang <[email protected]>
Cc: Dominik Brodowski <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
---
 drivers/pcmcia/ds.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 304ff6d..9f300d3 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -236,7 +236,6 @@ pcmcia_store_new_id(struct device_driver *driver, const 
char *buf, size_t count)
        if (!dynid)
                return -ENOMEM;
 
-       INIT_LIST_HEAD(&dynid->node);
        dynid->id.match_flags = match_flags;
        dynid->id.manf_id = manf_id;
        dynid->id.card_id = card_id;
@@ -246,7 +245,7 @@ pcmcia_store_new_id(struct device_driver *driver, const 
char *buf, size_t count)
        memcpy(dynid->id.prod_id_hash, prod_id_hash, sizeof(__u32) * 4);
 
        spin_lock(&pdrv->dynids.lock);
-       list_add_tail(&pdrv->dynids.list, &dynid->node);
+       list_add_tail(&dynid->node, &pdrv->dynids.list);
        spin_unlock(&pdrv->dynids.lock);
 
        if (get_driver(&pdrv->drv)) {
-- 
1.6.4.2


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

Reply via email to