On Sun, Mar 06, 2016 at 11:40:19PM +0100, Maciej S. Szmigiero wrote: > GPS rfkill support via pre-2009 WMI interface uses > hp_wmi_get_sw_state() and hp_wmi_get_hw_state() > to query its current hard and soft block state, > respectively. > > In hp_wmi_get_sw_state() a mask is calculated which > bit should be checked in an int value returned by > firmware to get current block state: > 0x200 << (r * 8) which with r being 3 for GPS > results in overflow and mask of zero. > The same goes for hp_wmi_get_hw_state(). > > This effectively means that GPS rfkill on this > WMI interface is considered always both hard and > soft blocked. > > Unfortunately, later when rfkill subsystem calls > hp_wmi_set_block() to sync this block to hardware > firmware at least on my old nc6400 gets confused > and sets both hard and soft blocks on WiFi and BT. > > This happens for example on hp-wmi module load. > > Since due to overflow described above it is dubious that > this ever worked correctly and HP laptops with modems > having GPS support seem to all have been released well past > year 2009 let's just remove GPS rfkill support via > pre-2009 WMI interface. > This looks reasonable. As it fails to apply without patch 1/2, please resubmit along with my feedback for 1/2. Also, please update your line wrap to 75 characters for commit messages. (see Documentation/SubmittingPatches "14) The canonical patch format"). Thanks, -- Darren Hart Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html