mirror of https://gitee.com/openkylin/linux.git
mei: bus: don't clean driver pointer
It's not needed to set driver to NULL in mei_cl_device_remove() which is bus_type remove() handler as this is done anyway in __device_release_driver(). Actually this is causing an endless loop in driver_detach() on ubuntu patched kernel, while removing (rmmod) the mei_hdcp module. The reason list_empty(&drv->p->klist_devices.k_list) is always not-empty. as the check is always true in __device_release_driver() if (dev->driver != drv) return; The non upstream patch is causing this behavior, titled: 'vfio -- release device lock before userspace requests' Nevertheless the fix is correct also for the upstream. Link: https://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20180912085046.3401-2-apw@canonical.com/ Cc: <stable@vger.kernel.org> Cc: Andy Whitcroft <apw@canonical.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20200628225359.2185929-1-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b037d60a3b
commit
e852c2c251
|
@ -745,9 +745,8 @@ static int mei_cl_device_remove(struct device *dev)
|
|||
|
||||
mei_cl_bus_module_put(cldev);
|
||||
module_put(THIS_MODULE);
|
||||
dev->driver = NULL;
|
||||
return ret;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t name_show(struct device *dev, struct device_attribute *a,
|
||||
|
|
Loading…
Reference in New Issue