linux/drivers/s390
Peter Oberparleiter f3e59ff348 s390/vmur: remove unnecessary BUG statement
An existing BUG statement in vmur's interrupt handler triggers if:

  1. An online vmur device is removed (e.g. due to driver unload, manual
     unbind or channel-report words indicating hypervisor-side device
     removal)
  2. Device deactivation fails due to firmware/hypervisor error, leaving
     subchannel enabled for interrupts + drvdata=NULL
  3. Interrupt occurs

This situation is highly unlikely and not a clear indication of a
general system error that would warrant stopping the full Linux system.
Also it can be prevented completely by clearing the interrupt handler
when unsetting a vmur device's drvdata.

Replace the BUG statement in vmur's interrupt handler by clearing the
interrupt handler callback during device removal. Also move the initial
setting of the interrupt handler callback under lock for consistency
reasons.

Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2022-10-10 10:15:10 +02:00
..
block s390 updates for the 6.1 merge window 2022-10-09 13:51:40 -07:00
char s390/vmur: remove unnecessary BUG statement 2022-10-10 10:15:10 +02:00
cio s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
crypto s390/vfio-ap: bypass unnecessary processing of AP resources 2022-09-21 22:33:16 +02:00
net s390 updates for the 6.1 merge window 2022-10-09 13:51:40 -07:00
scsi s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
virtio virtio: Revert "virtio: find_vqs() add arg sizes" 2022-08-16 01:40:24 -04:00
Makefile s390: remove pointless drivers-y in drivers/s390/Makefile 2019-09-16 13:21:51 +02:00