mei: me: do not load the driver if the FW doesn't support MEI interface
authorTomas Winkler <tomas.winkler@intel.com>
Tue, 25 Mar 2014 19:25:18 +0000 (21:25 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 May 2014 14:55:27 +0000 (07:55 -0700)
commit8343a52ace5428678b689273fe0c2298f7a9e2a9
tree3c6ebd68964211f8a7388a993632a46c3c276063
parent6a52b43b32fc1886b2a6c62567742962a9188278
mei: me: do not load the driver if the FW doesn't support MEI interface

commit 5e6533a6f52f1a8283b2f818f5828be99a417dd6 upstream.

NM and SPS  FW types that may run on ME device on server platforms
do not have valid MEI/HECI interface and driver should not
be bound to it as this might lead to system hung.
In practice not all BIOSes effectively hide such devices from the
OS and in some cases it is not possible.

We determine FW type by examining Host FW status registers in order to
unbind the driver.
In this patch we are adding check for ME on Cougar Point, Lynx Point
Devices

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Tested-by: Nikola Ciprich <nikola.ciprich@linuxbox.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/hw-me-regs.h
drivers/misc/mei/pci-me.c