[Artful/linux-oem][PATCH] fixing a wifi hw blocked issue on a lenovo laptop

Hui Wang hui.wang at canonical.com
Wed Jan 17 02:01:01 UTC 2018


BugLink: http://bugs.launchpad.net/bugs/1743672

On this machine, we can not find wifi enable/disable hw switch from the laptop,
but the wifi driver always reports that the wifi radio is hard blocked by switch.

$ rfkill list
0: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: yes

[Impact]
Both Artful and OEM kernel has this issue, but linux-4.14-rc1 does not have this issue.

I tried to copy whole wifi driver from 4.14-rc1 to OEM kernel, but can't fix this issue.
Since it is EC to handle the function key or hw switch on laptops, i tried to copy EC
driver to OEM kernel, this issue is fixed. Then bisect on the EC driver, I found this
patch fixed the issue.

Without this patch, the EC driver will find EC device from ECDT table first rather than
DSDT table first, then the wifi radio is always reported hw blocked by EC driver. After
applying this patch, the EC driver will find the EC device from DSDT table first, and
initialze the EC driver according to the definiton in the DSDT table, then the radio
switch can be reported correctly (under Windows 10, it is reported to be unblcoked).

[Test Case]
boot the system and connnect the wifi with AP, network works well.

[Fix]
Backport the uptream patch, and the Bionic kenel already had this patch.

[Regression Potential]
I tested on several lenovo laptops and Dell laptops, they all worked well as before.
I checked the dmesg, there is no error message about EC or EC driver.
And this patch is cherry-picked from upstream, the possibility of regression is very low.


Lv Zheng (1):
  ACPI: EC: Fix possible issues related to EC initialization order

 drivers/acpi/ec.c | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

-- 
2.7.4





More information about the kernel-team mailing list