From a36e204862fc556c7d06cbc9c29f6b0a4df21287 Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Mon, 13 Oct 2014 00:14:53 +0100 Subject: [PATCH 18/22] NOTFORMERGE: ec/lenovo/h8: wlan/trackpoint/touchpad/bluetooth/wwan Permanently enable them. Ignore configuration made by nvramtool. Almost every user will want all of these to be enabled, and those who would like them to be disabled would physically remove the relevant components from their machine anyway, or just not use them (in the case of the touchpad or trackpoint). So, why make it configurable in the first place? All it does is add confusion. The mind boggles. Change-Id: Ic76ab9ab9c865f30312378e18af58bece6c3260a Signed-off-by: Francis Rowe --- src/ec/lenovo/h8/h8.c | 21 +++++++++++---------- src/ec/lenovo/pmh7/pmh7.c | 11 ++++------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index 13b0483..b688e64 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -245,9 +245,11 @@ static void h8_enable(struct device *dev) ec_write(H8_FAN_CONTROL, H8_FAN_CONTROL_AUTO); - if (get_option(&val, "wlan") != CB_SUCCESS) - val = 1; - h8_wlan_enable(val); + // Permanently enable wifi + // Intel wifi could be a security risk because it uses firmware. Wlan chip has DMA + // and could leak data over a side-channel. Using another manufacturer is recommended. + // see http://libreboot.org/docs/index.html#recommended_wifi + h8_wlan_enable(1); h8_trackpoint_enable(1); h8_usb_power_enable(1); @@ -255,14 +257,13 @@ static void h8_enable(struct device *dev) if (get_option(&val, "volume") == CB_SUCCESS) ec_write(H8_VOLUME_CONTROL, val); - if (get_option(&val, "bluetooth") != CB_SUCCESS) - val = 1; - h8_bluetooth_enable(val); - - if (get_option(&val, "wwan") != CB_SUCCESS) - val = 1; + // Permanently enable bluetooth. + // NOTE: bluetooth is a potential security risk. Physical removal of the bluetooth module is recommended. + h8_bluetooth_enable(1); - h8_wwan_enable(val); + // Permanently enable wwan. + // NOTE: wwan is a security risk (remove access plus DMA). Physical removal of both the wwan and sim card is recommended. + h8_wwan_enable(1); if (conf->has_uwb) { if (get_option(&val, "uwb") != CB_SUCCESS) diff --git a/src/ec/lenovo/pmh7/pmh7.c b/src/ec/lenovo/pmh7/pmh7.c index f67fbda..9cb7149 100644 --- a/src/ec/lenovo/pmh7/pmh7.c +++ b/src/ec/lenovo/pmh7/pmh7.c @@ -106,7 +106,6 @@ static void enable_dev(struct device *dev) { struct ec_lenovo_pmh7_config *conf = dev->chip_info; struct resource *resource; - u8 val; resource = new_resource(dev, EC_LENOVO_PMH7_INDEX); resource->flags = IORESOURCE_IO | IORESOURCE_FIXED; @@ -118,13 +117,11 @@ static void enable_dev(struct device *dev) pmh7_backlight_enable(conf->backlight_enable); pmh7_dock_event_enable(conf->dock_event_enable); - if (get_option(&val, "touchpad") != CB_SUCCESS) - val = 1; - pmh7_touchpad_enable(val); + // Permanently enable touchpad + pmh7_touchpad_enable(1); - if (get_option(&val, "trackpoint") != CB_SUCCESS) - val = 1; - pmh7_trackpoint_enable(val); + // Permanently enable trackpoint + pmh7_trackpoint_enable(1); } struct chip_operations ec_lenovo_pmh7_ops = { -- 1.9.1