From: Valentine Barshak <[EMAIL PROTECTED]>

The patch moves dev_set_drvdata(&ofdev->dev, dev) up before tah_reset(ofdev)
is called to avoid a NULL pointer dereference, since tah_reset uses drvdata.

Signed-off-by: Valentine Barshak <[EMAIL PROTECTED]>
Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---

diff -pruN linux-2.6.orig/drivers/net/ibm_newemac/tah.c 
linux-2.6/drivers/net/ibm_newemac/tah.c
--- linux-2.6.orig/drivers/net/ibm_newemac/tah.c        2007-11-23 
21:27:57.000000000 +0300
+++ linux-2.6/drivers/net/ibm_newemac/tah.c     2007-11-23 21:35:12.000000000 
+0300
@@ -116,13 +116,14 @@ static int __devinit tah_probe(struct of
                goto err_free;
        }
 
+       dev_set_drvdata(&ofdev->dev, dev);
+
        /* Initialize TAH and enable IPv4 checksum verification, no TSO yet */
        tah_reset(ofdev);
 
        printk(KERN_INFO
               "TAH %s initialized\n", ofdev->node->full_name);
        wmb();
-       dev_set_drvdata(&ofdev->dev, dev);
 
        return 0;
 

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to