Hi Luca, On Mon, 2016-10-10 at 17:02 +0300, Luca Coelho wrote: > On Mon, 2016-10-10 at 02:19 -0500, Chris Rorvick wrote: > This is not coming from the NIC itself, but from the platform's ACPI > tables. Can you tell us which platform you are using? On my machine I'm seeing the same error as Chris. So what exactly do you mean with "platform" here? > > Name (SPLX, Package (0x04) > > { > > Zero, > > Package (0x03) > > { > > 0, > > 1200, > > 1000 > > }, > > Package (0x03) > > { > > 0, > > 1200, > > 1000 > > }, > > Package (0x03) > > { > > 0, > > 1200, > > 1000 > > } > > }) > > This is not the structure that we are expecting. We expect this: > > Name (SPLX, Package (0x02) > { > Zero, > Package (0x03) > { > 0x07, > <value>, > <value> > } > }) > > ...as you correctly pointed out. The data in the structure you have is > not for WiFi (actually I don't think 0 is a valid value, but I'll > double-check). For what it's worth, on my machine I have twenty (!) SPLX entries, all reading: Name (SPLX, Package (0x04) { Zero, Package (0x03) { 0x80000000, 0x80000000, 0x80000000 }, Package (0x03) { 0x80000000, 0x80000000, 0x80000000 }, Package (0x03) { 0x80000000, 0x80000000, 0x80000000 } }) > There are other things that look a bit inconsistent in this code... > I'll try to find the official ACPI table definitions for this entries > to make sure it's correct. When I looked into this error, some time ago, I searched around a bit for documentation on this splx stuff. Sadly, commit bcb079a14d75 ("iwlwifi: pcie: retrieve and parse ACPI power limitations") provides very few clues and my searches turned up nothing useful. So a pointer or two would be really appreciated. > > --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > @@ -540,7 +540,7 @@ static u64 splx_get_pwr_limit(struct iwl_trans *trans, union acpi_object *splx) > > splx->package.count != 2 || > > splx->package.elements[0].type != ACPI_TYPE_INTEGER || > > splx->package.elements[0].integer.value != 0) { > > - IWL_ERR(trans, "Unsupported splx structure\n"); > > + IWL_WARN(trans, "Unsupported splx structure, not limiting WiFi power\n"); > > return 0; > > } > > If this is really bothering you, I guess I could apply this patch for > now. But as I said, this is not solving the actual problem. Bikeshedding: I think IWL_INFO() is more appropriate, as info doesn't imply one needs to act on this message, while warn does imply that action is needed. Thanks, Paul Bolle