The driver core only calls a remove callback when the device was successfully bound (aka probed) before. So dev->driver is never NULL. (And even if it was NULL, to_zorro_driver(NULL) isn't ...) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- drivers/zorro/zorro-driver.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/zorro/zorro-driver.c b/drivers/zorro/zorro-driver.c index c18524bb8b2a..ab06c9ce2c78 100644 --- a/drivers/zorro/zorro-driver.c +++ b/drivers/zorro/zorro-driver.c @@ -67,11 +67,9 @@ static void zorro_device_remove(struct device *dev) struct zorro_dev *z = to_zorro_dev(dev); struct zorro_driver *drv = to_zorro_driver(dev->driver); - if (drv) { - if (drv->remove) - drv->remove(z); - z->driver = NULL; - } + if (drv->remove) + drv->remove(z); + z->driver = NULL; } -- 2.30.2