staging: unisys: prevent faults processing messages
Prevent faults processing messages for devices that no driver has yet registered to handle. Previously, code of the form: drv = to_visor_driver(dev->device.driver); if (!drv) goto away; was not having the desired intent, because to_visor_driver() was essentially returning garbage if its argument was NULL. The only existing case of this is in initiate_chipset_device_pause_resume(), which is called during IOVM service partition recovery. We were thus faulting when IOVM service partition recovery was initiated on a bus that had at least one device for which no function driver had registered (visorbus_register_visor_driver). Signed-off-by: Tim Sell <Timothy.Sell@unisys.com> Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
addce19f58
commit
d15a65be55
|
@ -113,7 +113,8 @@ struct visor_driver {
|
|||
struct driver_attribute version_attr;
|
||||
};
|
||||
|
||||
#define to_visor_driver(x) container_of(x, struct visor_driver, driver)
|
||||
#define to_visor_driver(x) ((x) ? \
|
||||
(container_of(x, struct visor_driver, driver)) : (NULL))
|
||||
|
||||
/** A device type for things "plugged" into the visorbus bus */
|
||||
|
||||
|
|
Loading…
Reference in a new issue