[PATCH] smsc911x: Check platformdata pointer

Jan Weitzel j.weitzel at phytec.de
Mon Sep 10 07:33:29 EDT 2012


If pdata is NULL smc911x_probe will crash. Checking the zero initialized
priv->shift results in default configuration if pdata is not set.

Signed-off-by: Jan Weitzel <j.weitzel at phytec.de>
---
 drivers/net/smc911x.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index bc1e001..f697608 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -435,7 +435,7 @@ static int smc911x_probe(struct device_d *dev)
 		priv->shift = pdata->shift;
 
 	if (is_32bit) {
-		if (pdata->shift) {
+		if (priv->shift) {
 			priv->reg_read = __smc911x_reg_readl_shift;
 			priv->reg_write = __smc911x_reg_writel_shift;
 		} else {
@@ -443,7 +443,7 @@ static int smc911x_probe(struct device_d *dev)
 			priv->reg_write = __smc911x_reg_writel;
 		}
 	} else {
-		if (pdata->shift) {
+		if (priv->shift) {
 			priv->reg_read = __smc911x_reg_readw_shift;
 			priv->reg_write = __smc911x_reg_writew_shift;
 		} else {
-- 
1.7.0.4




More information about the barebox mailing list