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> |
||
|---|---|---|
| .. | ||
| hdcp | ||
| bus-fixup.c | ||
| bus.c | ||
| client.c | ||
| client.h | ||
| debugfs.c | ||
| dma-ring.c | ||
| hbm.c | ||
| hbm.h | ||
| hw-me-regs.h | ||
| hw-me.c | ||
| hw-me.h | ||
| hw-txe-regs.h | ||
| hw-txe.c | ||
| hw-txe.h | ||
| hw.h | ||
| init.c | ||
| interrupt.c | ||
| Kconfig | ||
| main.c | ||
| Makefile | ||
| mei-trace.c | ||
| mei-trace.h | ||
| mei_dev.h | ||
| pci-me.c | ||
| pci-txe.c | ||