From: Vineeth Vijayan vneethv@linux.ibm.com
commit 2f7484fd73729f89085fe08d683f5a8d9e17fe99 upstream.
The condition to check the cdev pointer validity on css_sch_device_unregister() is a leftover from the 'commit 8cc0dcfdc1c0 ("s390/cio: remove pm support from ccw bus driver")'. This could lead to a situation, where detaching the device is not happening completely. Remove this invalid condition in the IO_SCH_UNREG case.
Link: https://lore.kernel.org/r/20210423100843.2230969-1-vneethv@linux.ibm.com Fixes: 8cc0dcfdc1c0 ("s390/cio: remove pm support from ccw bus driver") Reported-by: Christian Ehrhardt christian.ehrhardt@canonical.com Suggested-by: Christian Ehrhardt christian.ehrhardt@canonical.com Cc: stable@vger.kernel.org Signed-off-by: Vineeth Vijayan vneethv@linux.ibm.com Tested-by: Julian Wiedmann jwi@linux.ibm.com Reviewed-by: Peter Oberparleiter oberpar@linux.ibm.com Tested-by: Christian Ehrhardt christian.ehrhardt@canonical.com Signed-off-by: Heiko Carstens hca@linux.ibm.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- drivers/s390/cio/device.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
--- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -1532,8 +1532,7 @@ static int io_subchannel_sch_event(struc switch (action) { case IO_SCH_ORPH_UNREG: case IO_SCH_UNREG: - if (!cdev) - css_sch_device_unregister(sch); + css_sch_device_unregister(sch); break; case IO_SCH_ORPH_ATTACH: case IO_SCH_UNREG_ATTACH: