diff options
| author | 2019-05-26 01:18:32 +0000 | |
|---|---|---|
| committer | 2019-05-30 14:04:26 -0700 | |
| commit | 4ff740315aee92ec19add0193cef976e532e34dc (patch) | |
| tree | dcc445beb48c2a76d62d9e8f933159aa357364b2 | |
| parent | staging: kpc2000: kpc_i2c: Use drvdata instead of platform_data (diff) | |
staging: kpc2000: kpc_i2c: fail probe if unable to get I/O resource
The kpc_i2c driver attempts to map its I/O space without verifying
whether or not the result of platform_get_resource() is NULL. Make the
driver check that platform_get_resource did not return NULL before
attempting to use the value returned to map an I/O space.
Signed-off-by: Geordan Neukum <gneukum1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| -rw-r--r-- | drivers/staging/kpc2000/kpc2000_i2c.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/kpc2000/kpc2000_i2c.c b/drivers/staging/kpc2000/kpc2000_i2c.c index e4bbb91af972..452052bf9476 100644 --- a/drivers/staging/kpc2000/kpc2000_i2c.c +++ b/drivers/staging/kpc2000/kpc2000_i2c.c @@ -587,6 +587,9 @@ static int pi2c_probe(struct platform_device *pldev) priv->adapter.algo = &smbus_algorithm; res = platform_get_resource(pldev, IORESOURCE_MEM, 0); + if (!res) + return -ENXIO; + priv->smba = (unsigned long)ioremap_nocache(res->start, resource_size(res)); platform_set_drvdata(pldev, priv); |
