All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1468261650.20877.14.camel@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index 50e4026..e2c1e00 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,105 +1,163 @@
-T24gTW9uLCAyMDE2LTA3LTExIGF0IDE0OjE5IC0wNDAwLCBQcmFyaXQgQmhhcmdhdmEgd3JvdGU6
-DQo+IA0KPiBPbiAwNy8xMS8yMDE2IDAyOjAwIFBNLCBFbW1hbnVlbCBHcnVtYmFjaCB3cm90ZToN
-Cj4gPiBPbiBNb24sIEp1bCAxMSwgMjAxNiBhdCA2OjE4IFBNLCBQcmFyaXQgQmhhcmdhdmEgPHBy
-YXJpdEByZWRoYXQuY29tDQo+ID4gPiB3cm90ZToNCj4gPiA+IA0KPiA+ID4gRGlkbid0IGdldCBh
-bnkgZmVlZGJhY2sgb3IgcmV2aWV3IGNvbW1lbnRzIG9uIHRoaXMgcGF0Y2guIA0KPiA+ID4gIFJl
-c2VuZGluZyAuLi4NCj4gPiA+IA0KPiA+ID4gUC4NCj4gPiANCj4gPiBUaGlzIGNoYW5nZSBpcyBv
-YnZpb3VzbHkgY29tcGxldGVseSBicm9rZW4uIEl0IHNpbXBseSBkaXNhYmxlcyB0aGUNCj4gPiBy
-ZWdpc3RyYXRpb24gdG8gdGhlcm1hbCB6b25lIGNvcmUuDQo+IA0KPiBObyBpdCBpcyBub3QgYnJv
-a2VuLCBhbmQgeWVzLCB0aGF0IGlzIGV4YWN0bHkgd2hhdCBzaG91bGQgaGFwcGVuIElNTy4NCj4g
-DQo+IFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGl3bHdpZmkgZHJpdmVyIGltcGxlbWVudHMgdGhl
-IHRoZXJtYWwgem9uZQ0KPiBldmVuIHdoZW4gdGhlDQo+IGRldmljZSBkb2Vzbid0IHN1cHBvcnQg
-aXQuDQoNCldlIGltcGxlbWVudCB0aGVybWFsIHpvbmUgYmVjYXVzZSB3ZSBkbyBzdXBwb3J0IGl0
-LCBidXQgdGhlIHByb2JsZW0gaXMNCnRoYXQgd2UgbmVlZCB0aGUgZmlybXdhcmUgdG8gYmUgbG9h
-ZGVkIGZvciB0aGF0LiBTbyB5b3UgY2FuIGFyZ3VlIHRoYXQNCndlIHNob3VsZCByZWdpc3RlciAq
-bGF0ZXIqIHdoZW4gdGhlIGZpcm13YXJlIGlzIGxvYWRlZC4gQnV0IHRoaXMgaXMNCnJlYWxseSBu
-b3QgaGVscGluZyBhbGwgdGhhdCBtdWNoIGJlY2F1c2UgdGhlIGZpcm13YXJlIGNhbiBhbHNvIGJl
-DQpzdG9wcGVkIGF0IGFueSB0aW1lLiBTbyB5b3UnZCB3YW50IHVzIHRvIHJlZ2lzdGVyIC8gdW5y
-ZWdpc3RlciB0aGUNCnRoZXJtYWwgem9uZSBhbnl0aW1lIHRoZSBmaXJtd2FyZSBpcyBsb2FkZWQg
-LyB1bmxvYWRlZD8NCkkgZ3Vlc3MgdGhhdCB3b3JrcywgYnV0IGl0IHNlZW1zIHdyb25nIHRvIG1l
-LiBVc3VhbGx5LCByZWdpc3RyYXRpb24NCnNob3VsZCBoYXBwZW4gb25seSB1cG9uIElOSVQsIGFu
-ZCB5ZXMsIGF0IHRoYXQgdGltZSB0aGUgZmlybXdhcmUgaXMgbm90DQpyZWFkeSB0byBwcm92aWRl
-IHRoZSBpbmZvcm1hdGlvbiB5ZXQuDQpNYXliZSByZXR1cm5pbmcgLUVCVVNZIHdvdWxkIGhlbHAg
-bG0tc2Vuc29ycyBub3QgdG8gZ2V0IGNvbmZ1c2VkPw0KDQo+IA0KPiBBcyBjYW4gYmUgc2VlbiBp
-biB0aGUgY3VycmVudCBjb2RlIGJhc2UsIGl3bF9tdm1fdHpvbmVfZ2V0X3RlbXAoKQ0KPiB3aWxs
-IHJldHVybg0KPiAtRUlPIDEwMCUgb2YgdGhlIHRpbWUgd2hlbiB0aGUgZmlybXdhcmUgZG9lc24n
-dCBzdXBwb3J0IHJlYWRpbmcgdGhlDQo+IHRlbXBlcmF0dXJlWzFdLiAgSW4gdGhpcyBjYXNlIGEg
-cmVhZCBvZiBzeXNmcyB3aWxsIHJlc3VsdCBpbiBhIHJldHVybg0KPiBvZiAtRUlPLA0KPiBhbmQg
-dGhpcyBicmVha3MgZXhpc3RpbmcgdXNlcnNwYWNlIHByb2dyYW1zIHN1Y2ggYXMgbG0tc2Vuc29y
-cyAod2hpY2gNCj4gYnkgYWxsDQo+IGFjY291bnRzIGlzIGJhZCB0byBkbykuDQoNClJpZ2h0LCBi
-dXQgSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGUgdXNlcnNwYWNlIGlzIGJyb2tlbiBiZWNhdXNl
-IG9mDQp0aGF0PyBVbmxlc3Mgd2UgcmVnaXN0ZXIgLyB1bnJlZ2lzdGVyIGFueXRpbWUgdGhlIGZp
-cm13YXJlIGlzIGxvYWRlZCwgSQ0KZG9uJ3Qgc2VlIGFueSBwcm9wZXIgd2F5IHRvIGZpeCB0aGlz
-LiBBbmQgeWVzLCBJJ2QgZXhwZWN0IHRoZSB1c2Vyc3BhY2UNCnRvIGhhbmRsZSBncmFjZWZ1bGx5
-IGZhaWx1cmVzIGluIGl0cyByZXF1ZXN0cy4NCg0KPiANCj4gTm90ZSB0aGF0IGluIG15IHBhdGNo
-IEkgaGF2ZSByZW1vdmVkIHRoZSAtRUlPIHJldHVybiBpbiBmYXZvciBvZiBub3QNCj4gcmVnaXN0
-ZXJpbmcNCj4gdGhlIG5vbi1leGlzdGVudCB0aGVybWFsIHpvbmUuICBJJ20gbm90IHJlbW92aW5n
-IGFueSBmdW5jdGlvbmFsaXR5IGJ5DQo+IGNoYW5naW5nDQo+IHRoaXMsIG5vciBhbSBJIGFkZGlu
-ZyBmdW5jdGlvbmFsaXR5LiAgSW4gYm90aCBjYXNlcyB0aGUgdGhlcm1hbCB6b25lDQo+IGlzIG5v
-dA0KPiBmdW5jdGlvbmFsLCBhbmQgd2l0aCBteSBwYXRjaCB1c2Vyc3BhY2UgY29udGludWVzIHRv
-IHdvcmsuDQoNCllvdSBhcmUgcmVtb3ZpbmcgdGhlIHRoZXJtYWwgem9uZSBmdW5jdGlvbmFsaXR5
-IHNpbmNlIGV2ZW4gd2hlbiB0aGUNCmZpcm13YXJlIHdpbGwgYmUgbG9hZGVkICh3aGljaCB0eXBp
-Y2FsbHkgaGFwcGVucyBmYWlybHkgcXVpY2tseSksDQp0aGVybWFsIHpvbmUgd29uJ3Qgd29yay4N
-Cg0KPiANCj4gUC4NCj4gDQo+IFsxXSBpd2xfbXZtX3R6b25lX3NldF90cmlwX3RlbXAoKSBhbHNv
-IHJldHVybnMgLUVJTywgc28gc2V0dGluZyBhbmQNCj4gZ2V0dGluZyBvZg0KPiB0aGUgdGVtcGVy
-YXR1cmUgaXMgbm9uLWZ1bmN0aW9uYWwuDQo+IA0KPiANCj4gPiANCj4gPiA+IA0KPiA+ID4gLS0t
-ODwtLS0NCj4gPiA+IA0KPiA+ID4gVGhlIGl3bHdpZmkgZHJpdmVyIGltcGxlbWVudHMgYSB0aGVy
-bWFsIHpvbmUgYW5kIGh3bW9uIGRldmljZSwNCj4gPiA+IGJ1dA0KPiA+ID4gcmV0dXJucyAtRUlP
-IG9uIHRlbXBlcmF0dXJlIHJlYWRzIGlmIHRoZSBmaXJtd2FyZSBpc24ndCBsb2FkZWQuIA0KPiA+
-ID4gIFRoaXMNCj4gPiA+IHJlc3VsdHMgaW4gdGhlIGVycm9yDQo+ID4gPiANCj4gPiA+IGl3bHdp
-ZmktdmlydHVhbC0wDQo+ID4gPiBBZGFwdGVyOiBWaXJ0dWFsIGRldmljZQ0KPiA+ID4gRVJST1I6
-IENhbid0IGdldCB2YWx1ZSBvZiBzdWJmZWF0dXJlIHRlbXAxX2lucHV0OiBJL08gZXJyb3INCj4g
-PiA+IHRlbXAxOiAgICAgICAgICAgIE4vQQ0KPiA+ID4gDQo+ID4gPiBiZWluZyBvdXRwdXQgd2hl
-biB1c2luZyBzZW5zb3JzIGZyb20gdGhlIGxtLXNlbnNvcnMgcGFja2FnZS4gDQo+ID4gPiAgU2lu
-Y2UNCj4gPiA+IHRoZSB0ZW1wZXJhdHVyZSBjYW5ub3QgYmUgcmVhZCB1bmxlc3MgdGhlIHVjb2Rl
-IGlzIGxvYWRlZCB0aGVyZQ0KPiA+ID4gaXMgbm8NCj4gPiA+IHJlYXNvbiB0byBhZGQgdGhlIGlu
-dGVyZmFjZSBvbmx5IHRvIGhhdmUgaXQgcmV0dXJuIGFuIGVycm9yIDEwMCUNCj4gPiA+IG9mDQo+
-ID4gPiB0aGUgdGltZS4NCj4gPiA+IA0KPiA+ID4gVGhpcyBwYXRjaCBtb3ZlcyB0aGUgZmlybXdh
-cmUgY2hlY2sgdG8NCj4gPiA+IGl3bF9tdm1fdGhlcm1hbF96b25lX3JlZ2lzdGVyKCkgYW5kDQo+
-ID4gPiBzdG9wcyB0aGUgdGhlcm1hbCB6b25lIGZyb20gYmVpbmcgY3JlYXRlZCBpZiB0aGUgdWNv
-ZGUgaGFzbid0DQo+ID4gPiBiZWVuIGxvYWRlZC4NCj4gPiA+IA0KPiA+ID4gU2lnbmVkLW9mZi1i
-eTogUHJhcml0IEJoYXJnYXZhIDxwcmFyaXRAcmVkaGF0LmNvbT4NCj4gPiA+IENjOiBKb2hhbm5l
-cyBCZXJnIDxqb2hhbm5lcy5iZXJnQGludGVsLmNvbT4NCj4gPiA+IENjOiBFbW1hbnVlbCBHcnVt
-YmFjaCA8ZW1tYW51ZWwuZ3J1bWJhY2hAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IEx1Y2EgQ29lbGhv
-IDxsdWNpYW5vLmNvZWxob0BpbnRlbC5jb20+DQo+ID4gPiBDYzogSW50ZWwgTGludXggV2lyZWxl
-c3MgPGxpbnV4d2lmaUBpbnRlbC5jb20+DQo+ID4gPiBDYzogS2FsbGUgVmFsbyA8a3ZhbG9AY29k
-ZWF1cm9yYS5vcmc+DQo+ID4gPiBDYzogQ2hheWEgUmFjaGVsIEl2Z2kgPGNoYXlhLnJhY2hlbC5p
-dmdpQGludGVsLmNvbT4NCj4gPiA+IENjOiBTYXJhIFNoYXJvbiA8c2FyYS5zaGFyb25AaW50ZWwu
-Y29tPg0KPiA+ID4gQ2M6IGxpbnV4LXdpcmVsZXNzQHZnZXIua2VybmVsLm9yZw0KPiA+ID4gQ2M6
-IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmcNCj4gPiA+IC0tLQ0KPiA+ID4gIGRyaXZlcnMvbmV0L3dp
-cmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3R0LmMgfCAgIDEzICsrKy0tLS0tLS0tLS0NCj4gPiA+
-ICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4gPiA+
-IA0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkv
-bXZtL3R0LmMNCj4gPiA+IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0v
-dHQuYw0KPiA+ID4gaW5kZXggNThmYzdiM2M3MTFjLi42NDgwMjY1OTcxMWYgMTAwNjQ0DQo+ID4g
-PiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS90dC5jDQo+ID4g
-PiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS90dC5jDQo+ID4g
-PiBAQCAtNjM0LDExICs2MzQsNiBAQCBzdGF0aWMgaW50IGl3bF9tdm1fdHpvbmVfZ2V0X3RlbXAo
-c3RydWN0DQo+ID4gPiB0aGVybWFsX3pvbmVfZGV2aWNlICpkZXZpY2UsDQo+ID4gPiANCj4gPiA+
-ICAgICAgICAgbXV0ZXhfbG9jaygmbXZtLT5tdXRleCk7DQo+ID4gPiANCj4gPiA+IC0gICAgICAg
-aWYgKCFtdm0tPnVjb2RlX2xvYWRlZCB8fCAhKG12bS0+Y3VyX3Vjb2RlID09DQo+ID4gPiBJV0xf
-VUNPREVfUkVHVUxBUikpIHsNCj4gPiA+IC0gICAgICAgICAgICAgICByZXQgPSAtRUlPOw0KPiA+
-ID4gLSAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPiA+ID4gLSAgICAgICB9DQo+ID4gPiAtDQo+
-ID4gPiAgICAgICAgIHJldCA9IGl3bF9tdm1fZ2V0X3RlbXAobXZtLCAmdGVtcCk7DQo+ID4gPiAg
-ICAgICAgIGlmIChyZXQpDQo+ID4gPiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ID4gPiBA
-QCAtNjg0LDExICs2NzksNiBAQCBzdGF0aWMgaW50DQo+ID4gPiBpd2xfbXZtX3R6b25lX3NldF90
-cmlwX3RlbXAoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKmRldmljZSwNCj4gPiA+IA0KPiA+
-ID4gICAgICAgICBtdXRleF9sb2NrKCZtdm0tPm11dGV4KTsNCj4gPiA+IA0KPiA+ID4gLSAgICAg
-ICBpZiAoIW12bS0+dWNvZGVfbG9hZGVkIHx8ICEobXZtLT5jdXJfdWNvZGUgPT0NCj4gPiA+IElX
-TF9VQ09ERV9SRUdVTEFSKSkgew0KPiA+ID4gLSAgICAgICAgICAgICAgIHJldCA9IC1FSU87DQo+
-ID4gPiAtICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ID4gPiAtICAgICAgIH0NCj4gPiA+IC0N
-Cj4gPiA+ICAgICAgICAgaWYgKHRyaXAgPCAwIHx8IHRyaXAgPj0gSVdMX01BWF9EVFNfVFJJUFMp
-IHsNCj4gPiA+ICAgICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOw0KPiA+ID4gICAgICAgICAg
-ICAgICAgIGdvdG8gb3V0Ow0KPiA+ID4gQEAgLTc1MCw2ICs3NDAsOSBAQCBzdGF0aWMgdm9pZA0K
-PiA+ID4gaXdsX212bV90aGVybWFsX3pvbmVfcmVnaXN0ZXIoc3RydWN0IGl3bF9tdm0gKm12bSkN
-Cj4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm47DQo+ID4gPiAgICAgICAgIH0NCj4gPiA+IA0K
-PiA+ID4gKyAgICAgICBpZiAoIW12bS0+dWNvZGVfbG9hZGVkIHx8ICEobXZtLT5jdXJfdWNvZGUg
-PT0NCj4gPiA+IElXTF9VQ09ERV9SRUdVTEFSKSkNCj4gPiA+ICsgICAgICAgICAgICAgICByZXR1
-cm47DQo+ID4gPiArDQo+ID4gPiAgICAgICAgIEJVSUxEX0JVR19PTihBUlJBWV9TSVpFKG5hbWUp
-ID49IFRIRVJNQUxfTkFNRV9MRU5HVEgpOw0KPiA+ID4gDQo+ID4gPiAgICAgICAgIG12bS0+dHpf
-ZGV2aWNlLnR6b25lID0gdGhlcm1hbF96b25lX2RldmljZV9yZWdpc3RlcihuYW1lLA0KPiA+ID4g
-LS0NCj4gPiA+IDEuNy45LjMNCj4gPiA+IA0KPiA+ID4gLS0NCj4gPiA+IFRvIHVuc3Vic2NyaWJl
-IGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eA0KPiA+ID4g
-LXdpcmVsZXNzIiBpbg0KPiA+ID4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2
-Z2VyLmtlcm5lbC5vcmcNCj4gPiA+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIA0KPiA+ID4gaHR0
-cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1s
+On Mon, 2016-07-11 at 14:19 -0400, Prarit Bhargava wrote:
+> 
+> On 07/11/2016 02:00 PM, Emmanuel Grumbach wrote:
+> > On Mon, Jul 11, 2016 at 6:18 PM, Prarit Bhargava <prarit@redhat.com
+> > > wrote:
+> > > 
+> > > Didn't get any feedback or review comments on this patch. 
+> > >  Resending ...
+> > > 
+> > > P.
+> > 
+> > This change is obviously completely broken. It simply disables the
+> > registration to thermal zone core.
+> 
+> No it is not broken, and yes, that is exactly what should happen IMO.
+> 
+> The problem is that the iwlwifi driver implements the thermal zone
+> even when the
+> device doesn't support it.
+
+We implement thermal zone because we do support it, but the problem is
+that we need the firmware to be loaded for that. So you can argue that
+we should register *later* when the firmware is loaded. But this is
+really not helping all that much because the firmware can also be
+stopped at any time. So you'd want us to register / unregister the
+thermal zone anytime the firmware is loaded / unloaded?
+I guess that works, but it seems wrong to me. Usually, registration
+should happen only upon INIT, and yes, at that time the firmware is not
+ready to provide the information yet.
+Maybe returning -EBUSY would help lm-sensors not to get confused?
+
+> 
+> As can be seen in the current code base, iwl_mvm_tzone_get_temp()
+> will return
+> -EIO 100% of the time when the firmware doesn't support reading the
+> temperature[1].  In this case a read of sysfs will result in a return
+> of -EIO,
+> and this breaks existing userspace programs such as lm-sensors (which
+> by all
+> accounts is bad to do).
+
+Right, but I don't understand why the userspace is broken because of
+that? Unless we register / unregister anytime the firmware is loaded, I
+don't see any proper way to fix this. And yes, I'd expect the userspace
+to handle gracefully failures in its requests.
+
+> 
+> Note that in my patch I have removed the -EIO return in favor of not
+> registering
+> the non-existent thermal zone.  I'm not removing any functionality by
+> changing
+> this, nor am I adding functionality.  In both cases the thermal zone
+> is not
+> functional, and with my patch userspace continues to work.
+
+You are removing the thermal zone functionality since even when the
+firmware will be loaded (which typically happens fairly quickly),
+thermal zone won't work.
+
+> 
+> P.
+> 
+> [1] iwl_mvm_tzone_set_trip_temp() also returns -EIO, so setting and
+> getting of
+> the temperature is non-functional.
+> 
+> 
+> > 
+> > > 
+> > > ---8<---
+> > > 
+> > > The iwlwifi driver implements a thermal zone and hwmon device,
+> > > but
+> > > returns -EIO on temperature reads if the firmware isn't loaded. 
+> > >  This
+> > > results in the error
+> > > 
+> > > iwlwifi-virtual-0
+> > > Adapter: Virtual device
+> > > ERROR: Can't get value of subfeature temp1_input: I/O error
+> > > temp1:            N/A
+> > > 
+> > > being output when using sensors from the lm-sensors package. 
+> > >  Since
+> > > the temperature cannot be read unless the ucode is loaded there
+> > > is no
+> > > reason to add the interface only to have it return an error 100%
+> > > of
+> > > the time.
+> > > 
+> > > This patch moves the firmware check to
+> > > iwl_mvm_thermal_zone_register() and
+> > > stops the thermal zone from being created if the ucode hasn't
+> > > been loaded.
+> > > 
+> > > Signed-off-by: Prarit Bhargava <prarit@redhat.com>
+> > > Cc: Johannes Berg <johannes.berg@intel.com>
+> > > Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+> > > Cc: Luca Coelho <luciano.coelho@intel.com>
+> > > Cc: Intel Linux Wireless <linuxwifi@intel.com>
+> > > Cc: Kalle Valo <kvalo@codeaurora.org>
+> > > Cc: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com>
+> > > Cc: Sara Sharon <sara.sharon@intel.com>
+> > > Cc: linux-wireless@vger.kernel.org
+> > > Cc: netdev@vger.kernel.org
+> > > ---
+> > >  drivers/net/wireless/intel/iwlwifi/mvm/tt.c |   13 +++----------
+> > >  1 file changed, 3 insertions(+), 10 deletions(-)
+> > > 
+> > > diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+> > > b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+> > > index 58fc7b3c711c..64802659711f 100644
+> > > --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+> > > +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+> > > @@ -634,11 +634,6 @@ static int iwl_mvm_tzone_get_temp(struct
+> > > thermal_zone_device *device,
+> > > 
+> > >         mutex_lock(&mvm->mutex);
+> > > 
+> > > -       if (!mvm->ucode_loaded || !(mvm->cur_ucode ==
+> > > IWL_UCODE_REGULAR)) {
+> > > -               ret = -EIO;
+> > > -               goto out;
+> > > -       }
+> > > -
+> > >         ret = iwl_mvm_get_temp(mvm, &temp);
+> > >         if (ret)
+> > >                 goto out;
+> > > @@ -684,11 +679,6 @@ static int
+> > > iwl_mvm_tzone_set_trip_temp(struct thermal_zone_device *device,
+> > > 
+> > >         mutex_lock(&mvm->mutex);
+> > > 
+> > > -       if (!mvm->ucode_loaded || !(mvm->cur_ucode ==
+> > > IWL_UCODE_REGULAR)) {
+> > > -               ret = -EIO;
+> > > -               goto out;
+> > > -       }
+> > > -
+> > >         if (trip < 0 || trip >= IWL_MAX_DTS_TRIPS) {
+> > >                 ret = -EINVAL;
+> > >                 goto out;
+> > > @@ -750,6 +740,9 @@ static void
+> > > iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
+> > >                 return;
+> > >         }
+> > > 
+> > > +       if (!mvm->ucode_loaded || !(mvm->cur_ucode ==
+> > > IWL_UCODE_REGULAR))
+> > > +               return;
+> > > +
+> > >         BUILD_BUG_ON(ARRAY_SIZE(name) >= THERMAL_NAME_LENGTH);
+> > > 
+> > >         mvm->tz_device.tzone = thermal_zone_device_register(name,
+> > > --
+> > > 1.7.9.3
+> > > 
+> > > --
+> > > To unsubscribe from this list: send the line "unsubscribe linux
+> > > -wireless" in
+> > > the body of a message to majordomo@vger.kernel.org
+> > > More majordomo info at  
+> > > http://vger.kernel.org/majordomo-info.html
diff --git a/a/content_digest b/N1/content_digest
index e22fd23..8c600bc 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -20,110 +20,168 @@
  " linux-wireless@vger.kernel.org <linux-wireless@vger.kernel.org>\0"
  "\00:1\0"
  "b\0"
- "T24gTW9uLCAyMDE2LTA3LTExIGF0IDE0OjE5IC0wNDAwLCBQcmFyaXQgQmhhcmdhdmEgd3JvdGU6\n"
- "DQo+IA0KPiBPbiAwNy8xMS8yMDE2IDAyOjAwIFBNLCBFbW1hbnVlbCBHcnVtYmFjaCB3cm90ZToN\n"
- "Cj4gPiBPbiBNb24sIEp1bCAxMSwgMjAxNiBhdCA2OjE4IFBNLCBQcmFyaXQgQmhhcmdhdmEgPHBy\n"
- "YXJpdEByZWRoYXQuY29tDQo+ID4gPiB3cm90ZToNCj4gPiA+IA0KPiA+ID4gRGlkbid0IGdldCBh\n"
- "bnkgZmVlZGJhY2sgb3IgcmV2aWV3IGNvbW1lbnRzIG9uIHRoaXMgcGF0Y2guIA0KPiA+ID4gIFJl\n"
- "c2VuZGluZyAuLi4NCj4gPiA+IA0KPiA+ID4gUC4NCj4gPiANCj4gPiBUaGlzIGNoYW5nZSBpcyBv\n"
- "YnZpb3VzbHkgY29tcGxldGVseSBicm9rZW4uIEl0IHNpbXBseSBkaXNhYmxlcyB0aGUNCj4gPiBy\n"
- "ZWdpc3RyYXRpb24gdG8gdGhlcm1hbCB6b25lIGNvcmUuDQo+IA0KPiBObyBpdCBpcyBub3QgYnJv\n"
- "a2VuLCBhbmQgeWVzLCB0aGF0IGlzIGV4YWN0bHkgd2hhdCBzaG91bGQgaGFwcGVuIElNTy4NCj4g\n"
- "DQo+IFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGl3bHdpZmkgZHJpdmVyIGltcGxlbWVudHMgdGhl\n"
- "IHRoZXJtYWwgem9uZQ0KPiBldmVuIHdoZW4gdGhlDQo+IGRldmljZSBkb2Vzbid0IHN1cHBvcnQg\n"
- "aXQuDQoNCldlIGltcGxlbWVudCB0aGVybWFsIHpvbmUgYmVjYXVzZSB3ZSBkbyBzdXBwb3J0IGl0\n"
- "LCBidXQgdGhlIHByb2JsZW0gaXMNCnRoYXQgd2UgbmVlZCB0aGUgZmlybXdhcmUgdG8gYmUgbG9h\n"
- "ZGVkIGZvciB0aGF0LiBTbyB5b3UgY2FuIGFyZ3VlIHRoYXQNCndlIHNob3VsZCByZWdpc3RlciAq\n"
- "bGF0ZXIqIHdoZW4gdGhlIGZpcm13YXJlIGlzIGxvYWRlZC4gQnV0IHRoaXMgaXMNCnJlYWxseSBu\n"
- "b3QgaGVscGluZyBhbGwgdGhhdCBtdWNoIGJlY2F1c2UgdGhlIGZpcm13YXJlIGNhbiBhbHNvIGJl\n"
- "DQpzdG9wcGVkIGF0IGFueSB0aW1lLiBTbyB5b3UnZCB3YW50IHVzIHRvIHJlZ2lzdGVyIC8gdW5y\n"
- "ZWdpc3RlciB0aGUNCnRoZXJtYWwgem9uZSBhbnl0aW1lIHRoZSBmaXJtd2FyZSBpcyBsb2FkZWQg\n"
- "LyB1bmxvYWRlZD8NCkkgZ3Vlc3MgdGhhdCB3b3JrcywgYnV0IGl0IHNlZW1zIHdyb25nIHRvIG1l\n"
- "LiBVc3VhbGx5LCByZWdpc3RyYXRpb24NCnNob3VsZCBoYXBwZW4gb25seSB1cG9uIElOSVQsIGFu\n"
- "ZCB5ZXMsIGF0IHRoYXQgdGltZSB0aGUgZmlybXdhcmUgaXMgbm90DQpyZWFkeSB0byBwcm92aWRl\n"
- "IHRoZSBpbmZvcm1hdGlvbiB5ZXQuDQpNYXliZSByZXR1cm5pbmcgLUVCVVNZIHdvdWxkIGhlbHAg\n"
- "bG0tc2Vuc29ycyBub3QgdG8gZ2V0IGNvbmZ1c2VkPw0KDQo+IA0KPiBBcyBjYW4gYmUgc2VlbiBp\n"
- "biB0aGUgY3VycmVudCBjb2RlIGJhc2UsIGl3bF9tdm1fdHpvbmVfZ2V0X3RlbXAoKQ0KPiB3aWxs\n"
- "IHJldHVybg0KPiAtRUlPIDEwMCUgb2YgdGhlIHRpbWUgd2hlbiB0aGUgZmlybXdhcmUgZG9lc24n\n"
- "dCBzdXBwb3J0IHJlYWRpbmcgdGhlDQo+IHRlbXBlcmF0dXJlWzFdLiAgSW4gdGhpcyBjYXNlIGEg\n"
- "cmVhZCBvZiBzeXNmcyB3aWxsIHJlc3VsdCBpbiBhIHJldHVybg0KPiBvZiAtRUlPLA0KPiBhbmQg\n"
- "dGhpcyBicmVha3MgZXhpc3RpbmcgdXNlcnNwYWNlIHByb2dyYW1zIHN1Y2ggYXMgbG0tc2Vuc29y\n"
- "cyAod2hpY2gNCj4gYnkgYWxsDQo+IGFjY291bnRzIGlzIGJhZCB0byBkbykuDQoNClJpZ2h0LCBi\n"
- "dXQgSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGUgdXNlcnNwYWNlIGlzIGJyb2tlbiBiZWNhdXNl\n"
- "IG9mDQp0aGF0PyBVbmxlc3Mgd2UgcmVnaXN0ZXIgLyB1bnJlZ2lzdGVyIGFueXRpbWUgdGhlIGZp\n"
- "cm13YXJlIGlzIGxvYWRlZCwgSQ0KZG9uJ3Qgc2VlIGFueSBwcm9wZXIgd2F5IHRvIGZpeCB0aGlz\n"
- "LiBBbmQgeWVzLCBJJ2QgZXhwZWN0IHRoZSB1c2Vyc3BhY2UNCnRvIGhhbmRsZSBncmFjZWZ1bGx5\n"
- "IGZhaWx1cmVzIGluIGl0cyByZXF1ZXN0cy4NCg0KPiANCj4gTm90ZSB0aGF0IGluIG15IHBhdGNo\n"
- "IEkgaGF2ZSByZW1vdmVkIHRoZSAtRUlPIHJldHVybiBpbiBmYXZvciBvZiBub3QNCj4gcmVnaXN0\n"
- "ZXJpbmcNCj4gdGhlIG5vbi1leGlzdGVudCB0aGVybWFsIHpvbmUuICBJJ20gbm90IHJlbW92aW5n\n"
- "IGFueSBmdW5jdGlvbmFsaXR5IGJ5DQo+IGNoYW5naW5nDQo+IHRoaXMsIG5vciBhbSBJIGFkZGlu\n"
- "ZyBmdW5jdGlvbmFsaXR5LiAgSW4gYm90aCBjYXNlcyB0aGUgdGhlcm1hbCB6b25lDQo+IGlzIG5v\n"
- "dA0KPiBmdW5jdGlvbmFsLCBhbmQgd2l0aCBteSBwYXRjaCB1c2Vyc3BhY2UgY29udGludWVzIHRv\n"
- "IHdvcmsuDQoNCllvdSBhcmUgcmVtb3ZpbmcgdGhlIHRoZXJtYWwgem9uZSBmdW5jdGlvbmFsaXR5\n"
- "IHNpbmNlIGV2ZW4gd2hlbiB0aGUNCmZpcm13YXJlIHdpbGwgYmUgbG9hZGVkICh3aGljaCB0eXBp\n"
- "Y2FsbHkgaGFwcGVucyBmYWlybHkgcXVpY2tseSksDQp0aGVybWFsIHpvbmUgd29uJ3Qgd29yay4N\n"
- "Cg0KPiANCj4gUC4NCj4gDQo+IFsxXSBpd2xfbXZtX3R6b25lX3NldF90cmlwX3RlbXAoKSBhbHNv\n"
- "IHJldHVybnMgLUVJTywgc28gc2V0dGluZyBhbmQNCj4gZ2V0dGluZyBvZg0KPiB0aGUgdGVtcGVy\n"
- "YXR1cmUgaXMgbm9uLWZ1bmN0aW9uYWwuDQo+IA0KPiANCj4gPiANCj4gPiA+IA0KPiA+ID4gLS0t\n"
- "ODwtLS0NCj4gPiA+IA0KPiA+ID4gVGhlIGl3bHdpZmkgZHJpdmVyIGltcGxlbWVudHMgYSB0aGVy\n"
- "bWFsIHpvbmUgYW5kIGh3bW9uIGRldmljZSwNCj4gPiA+IGJ1dA0KPiA+ID4gcmV0dXJucyAtRUlP\n"
- "IG9uIHRlbXBlcmF0dXJlIHJlYWRzIGlmIHRoZSBmaXJtd2FyZSBpc24ndCBsb2FkZWQuIA0KPiA+\n"
- "ID4gIFRoaXMNCj4gPiA+IHJlc3VsdHMgaW4gdGhlIGVycm9yDQo+ID4gPiANCj4gPiA+IGl3bHdp\n"
- "ZmktdmlydHVhbC0wDQo+ID4gPiBBZGFwdGVyOiBWaXJ0dWFsIGRldmljZQ0KPiA+ID4gRVJST1I6\n"
- "IENhbid0IGdldCB2YWx1ZSBvZiBzdWJmZWF0dXJlIHRlbXAxX2lucHV0OiBJL08gZXJyb3INCj4g\n"
- "PiA+IHRlbXAxOiAgICAgICAgICAgIE4vQQ0KPiA+ID4gDQo+ID4gPiBiZWluZyBvdXRwdXQgd2hl\n"
- "biB1c2luZyBzZW5zb3JzIGZyb20gdGhlIGxtLXNlbnNvcnMgcGFja2FnZS4gDQo+ID4gPiAgU2lu\n"
- "Y2UNCj4gPiA+IHRoZSB0ZW1wZXJhdHVyZSBjYW5ub3QgYmUgcmVhZCB1bmxlc3MgdGhlIHVjb2Rl\n"
- "IGlzIGxvYWRlZCB0aGVyZQ0KPiA+ID4gaXMgbm8NCj4gPiA+IHJlYXNvbiB0byBhZGQgdGhlIGlu\n"
- "dGVyZmFjZSBvbmx5IHRvIGhhdmUgaXQgcmV0dXJuIGFuIGVycm9yIDEwMCUNCj4gPiA+IG9mDQo+\n"
- "ID4gPiB0aGUgdGltZS4NCj4gPiA+IA0KPiA+ID4gVGhpcyBwYXRjaCBtb3ZlcyB0aGUgZmlybXdh\n"
- "cmUgY2hlY2sgdG8NCj4gPiA+IGl3bF9tdm1fdGhlcm1hbF96b25lX3JlZ2lzdGVyKCkgYW5kDQo+\n"
- "ID4gPiBzdG9wcyB0aGUgdGhlcm1hbCB6b25lIGZyb20gYmVpbmcgY3JlYXRlZCBpZiB0aGUgdWNv\n"
- "ZGUgaGFzbid0DQo+ID4gPiBiZWVuIGxvYWRlZC4NCj4gPiA+IA0KPiA+ID4gU2lnbmVkLW9mZi1i\n"
- "eTogUHJhcml0IEJoYXJnYXZhIDxwcmFyaXRAcmVkaGF0LmNvbT4NCj4gPiA+IENjOiBKb2hhbm5l\n"
- "cyBCZXJnIDxqb2hhbm5lcy5iZXJnQGludGVsLmNvbT4NCj4gPiA+IENjOiBFbW1hbnVlbCBHcnVt\n"
- "YmFjaCA8ZW1tYW51ZWwuZ3J1bWJhY2hAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IEx1Y2EgQ29lbGhv\n"
- "IDxsdWNpYW5vLmNvZWxob0BpbnRlbC5jb20+DQo+ID4gPiBDYzogSW50ZWwgTGludXggV2lyZWxl\n"
- "c3MgPGxpbnV4d2lmaUBpbnRlbC5jb20+DQo+ID4gPiBDYzogS2FsbGUgVmFsbyA8a3ZhbG9AY29k\n"
- "ZWF1cm9yYS5vcmc+DQo+ID4gPiBDYzogQ2hheWEgUmFjaGVsIEl2Z2kgPGNoYXlhLnJhY2hlbC5p\n"
- "dmdpQGludGVsLmNvbT4NCj4gPiA+IENjOiBTYXJhIFNoYXJvbiA8c2FyYS5zaGFyb25AaW50ZWwu\n"
- "Y29tPg0KPiA+ID4gQ2M6IGxpbnV4LXdpcmVsZXNzQHZnZXIua2VybmVsLm9yZw0KPiA+ID4gQ2M6\n"
- "IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmcNCj4gPiA+IC0tLQ0KPiA+ID4gIGRyaXZlcnMvbmV0L3dp\n"
- "cmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3R0LmMgfCAgIDEzICsrKy0tLS0tLS0tLS0NCj4gPiA+\n"
- "ICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4gPiA+\n"
- "IA0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkv\n"
- "bXZtL3R0LmMNCj4gPiA+IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0v\n"
- "dHQuYw0KPiA+ID4gaW5kZXggNThmYzdiM2M3MTFjLi42NDgwMjY1OTcxMWYgMTAwNjQ0DQo+ID4g\n"
- "PiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS90dC5jDQo+ID4g\n"
- "PiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS90dC5jDQo+ID4g\n"
- "PiBAQCAtNjM0LDExICs2MzQsNiBAQCBzdGF0aWMgaW50IGl3bF9tdm1fdHpvbmVfZ2V0X3RlbXAo\n"
- "c3RydWN0DQo+ID4gPiB0aGVybWFsX3pvbmVfZGV2aWNlICpkZXZpY2UsDQo+ID4gPiANCj4gPiA+\n"
- "ICAgICAgICAgbXV0ZXhfbG9jaygmbXZtLT5tdXRleCk7DQo+ID4gPiANCj4gPiA+IC0gICAgICAg\n"
- "aWYgKCFtdm0tPnVjb2RlX2xvYWRlZCB8fCAhKG12bS0+Y3VyX3Vjb2RlID09DQo+ID4gPiBJV0xf\n"
- "VUNPREVfUkVHVUxBUikpIHsNCj4gPiA+IC0gICAgICAgICAgICAgICByZXQgPSAtRUlPOw0KPiA+\n"
- "ID4gLSAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPiA+ID4gLSAgICAgICB9DQo+ID4gPiAtDQo+\n"
- "ID4gPiAgICAgICAgIHJldCA9IGl3bF9tdm1fZ2V0X3RlbXAobXZtLCAmdGVtcCk7DQo+ID4gPiAg\n"
- "ICAgICAgIGlmIChyZXQpDQo+ID4gPiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ID4gPiBA\n"
- "QCAtNjg0LDExICs2NzksNiBAQCBzdGF0aWMgaW50DQo+ID4gPiBpd2xfbXZtX3R6b25lX3NldF90\n"
- "cmlwX3RlbXAoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKmRldmljZSwNCj4gPiA+IA0KPiA+\n"
- "ID4gICAgICAgICBtdXRleF9sb2NrKCZtdm0tPm11dGV4KTsNCj4gPiA+IA0KPiA+ID4gLSAgICAg\n"
- "ICBpZiAoIW12bS0+dWNvZGVfbG9hZGVkIHx8ICEobXZtLT5jdXJfdWNvZGUgPT0NCj4gPiA+IElX\n"
- "TF9VQ09ERV9SRUdVTEFSKSkgew0KPiA+ID4gLSAgICAgICAgICAgICAgIHJldCA9IC1FSU87DQo+\n"
- "ID4gPiAtICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ID4gPiAtICAgICAgIH0NCj4gPiA+IC0N\n"
- "Cj4gPiA+ICAgICAgICAgaWYgKHRyaXAgPCAwIHx8IHRyaXAgPj0gSVdMX01BWF9EVFNfVFJJUFMp\n"
- "IHsNCj4gPiA+ICAgICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOw0KPiA+ID4gICAgICAgICAg\n"
- "ICAgICAgIGdvdG8gb3V0Ow0KPiA+ID4gQEAgLTc1MCw2ICs3NDAsOSBAQCBzdGF0aWMgdm9pZA0K\n"
- "PiA+ID4gaXdsX212bV90aGVybWFsX3pvbmVfcmVnaXN0ZXIoc3RydWN0IGl3bF9tdm0gKm12bSkN\n"
- "Cj4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm47DQo+ID4gPiAgICAgICAgIH0NCj4gPiA+IA0K\n"
- "PiA+ID4gKyAgICAgICBpZiAoIW12bS0+dWNvZGVfbG9hZGVkIHx8ICEobXZtLT5jdXJfdWNvZGUg\n"
- "PT0NCj4gPiA+IElXTF9VQ09ERV9SRUdVTEFSKSkNCj4gPiA+ICsgICAgICAgICAgICAgICByZXR1\n"
- "cm47DQo+ID4gPiArDQo+ID4gPiAgICAgICAgIEJVSUxEX0JVR19PTihBUlJBWV9TSVpFKG5hbWUp\n"
- "ID49IFRIRVJNQUxfTkFNRV9MRU5HVEgpOw0KPiA+ID4gDQo+ID4gPiAgICAgICAgIG12bS0+dHpf\n"
- "ZGV2aWNlLnR6b25lID0gdGhlcm1hbF96b25lX2RldmljZV9yZWdpc3RlcihuYW1lLA0KPiA+ID4g\n"
- "LS0NCj4gPiA+IDEuNy45LjMNCj4gPiA+IA0KPiA+ID4gLS0NCj4gPiA+IFRvIHVuc3Vic2NyaWJl\n"
- "IGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eA0KPiA+ID4g\n"
- "LXdpcmVsZXNzIiBpbg0KPiA+ID4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2\n"
- "Z2VyLmtlcm5lbC5vcmcNCj4gPiA+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIA0KPiA+ID4gaHR0\n"
- cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1s
+ "On Mon, 2016-07-11 at 14:19 -0400, Prarit Bhargava wrote:\n"
+ "> \n"
+ "> On 07/11/2016 02:00 PM, Emmanuel Grumbach wrote:\n"
+ "> > On Mon, Jul 11, 2016 at 6:18 PM, Prarit Bhargava <prarit@redhat.com\n"
+ "> > > wrote:\n"
+ "> > > \n"
+ "> > > Didn't get any feedback or review comments on this patch. \n"
+ "> > >  Resending ...\n"
+ "> > > \n"
+ "> > > P.\n"
+ "> > \n"
+ "> > This change is obviously completely broken. It simply disables the\n"
+ "> > registration to thermal zone core.\n"
+ "> \n"
+ "> No it is not broken, and yes, that is exactly what should happen IMO.\n"
+ "> \n"
+ "> The problem is that the iwlwifi driver implements the thermal zone\n"
+ "> even when the\n"
+ "> device doesn't support it.\n"
+ "\n"
+ "We implement thermal zone because we do support it, but the problem is\n"
+ "that we need the firmware to be loaded for that. So you can argue that\n"
+ "we should register *later* when the firmware is loaded. But this is\n"
+ "really not helping all that much because the firmware can also be\n"
+ "stopped at any time. So you'd want us to register / unregister the\n"
+ "thermal zone anytime the firmware is loaded / unloaded?\n"
+ "I guess that works, but it seems wrong to me. Usually, registration\n"
+ "should happen only upon INIT, and yes, at that time the firmware is not\n"
+ "ready to provide the information yet.\n"
+ "Maybe returning -EBUSY would help lm-sensors not to get confused?\n"
+ "\n"
+ "> \n"
+ "> As can be seen in the current code base, iwl_mvm_tzone_get_temp()\n"
+ "> will return\n"
+ "> -EIO 100% of the time when the firmware doesn't support reading the\n"
+ "> temperature[1].  In this case a read of sysfs will result in a return\n"
+ "> of -EIO,\n"
+ "> and this breaks existing userspace programs such as lm-sensors (which\n"
+ "> by all\n"
+ "> accounts is bad to do).\n"
+ "\n"
+ "Right, but I don't understand why the userspace is broken because of\n"
+ "that? Unless we register / unregister anytime the firmware is loaded, I\n"
+ "don't see any proper way to fix this. And yes, I'd expect the userspace\n"
+ "to handle gracefully failures in its requests.\n"
+ "\n"
+ "> \n"
+ "> Note that in my patch I have removed the -EIO return in favor of not\n"
+ "> registering\n"
+ "> the non-existent thermal zone.  I'm not removing any functionality by\n"
+ "> changing\n"
+ "> this, nor am I adding functionality.  In both cases the thermal zone\n"
+ "> is not\n"
+ "> functional, and with my patch userspace continues to work.\n"
+ "\n"
+ "You are removing the thermal zone functionality since even when the\n"
+ "firmware will be loaded (which typically happens fairly quickly),\n"
+ "thermal zone won't work.\n"
+ "\n"
+ "> \n"
+ "> P.\n"
+ "> \n"
+ "> [1] iwl_mvm_tzone_set_trip_temp() also returns -EIO, so setting and\n"
+ "> getting of\n"
+ "> the temperature is non-functional.\n"
+ "> \n"
+ "> \n"
+ "> > \n"
+ "> > > \n"
+ "> > > ---8<---\n"
+ "> > > \n"
+ "> > > The iwlwifi driver implements a thermal zone and hwmon device,\n"
+ "> > > but\n"
+ "> > > returns -EIO on temperature reads if the firmware isn't loaded. \n"
+ "> > >  This\n"
+ "> > > results in the error\n"
+ "> > > \n"
+ "> > > iwlwifi-virtual-0\n"
+ "> > > Adapter: Virtual device\n"
+ "> > > ERROR: Can't get value of subfeature temp1_input: I/O error\n"
+ "> > > temp1:            N/A\n"
+ "> > > \n"
+ "> > > being output when using sensors from the lm-sensors package. \n"
+ "> > >  Since\n"
+ "> > > the temperature cannot be read unless the ucode is loaded there\n"
+ "> > > is no\n"
+ "> > > reason to add the interface only to have it return an error 100%\n"
+ "> > > of\n"
+ "> > > the time.\n"
+ "> > > \n"
+ "> > > This patch moves the firmware check to\n"
+ "> > > iwl_mvm_thermal_zone_register() and\n"
+ "> > > stops the thermal zone from being created if the ucode hasn't\n"
+ "> > > been loaded.\n"
+ "> > > \n"
+ "> > > Signed-off-by: Prarit Bhargava <prarit@redhat.com>\n"
+ "> > > Cc: Johannes Berg <johannes.berg@intel.com>\n"
+ "> > > Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>\n"
+ "> > > Cc: Luca Coelho <luciano.coelho@intel.com>\n"
+ "> > > Cc: Intel Linux Wireless <linuxwifi@intel.com>\n"
+ "> > > Cc: Kalle Valo <kvalo@codeaurora.org>\n"
+ "> > > Cc: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com>\n"
+ "> > > Cc: Sara Sharon <sara.sharon@intel.com>\n"
+ "> > > Cc: linux-wireless@vger.kernel.org\n"
+ "> > > Cc: netdev@vger.kernel.org\n"
+ "> > > ---\n"
+ "> > >  drivers/net/wireless/intel/iwlwifi/mvm/tt.c |   13 +++----------\n"
+ "> > >  1 file changed, 3 insertions(+), 10 deletions(-)\n"
+ "> > > \n"
+ "> > > diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c\n"
+ "> > > b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c\n"
+ "> > > index 58fc7b3c711c..64802659711f 100644\n"
+ "> > > --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c\n"
+ "> > > +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c\n"
+ "> > > @@ -634,11 +634,6 @@ static int iwl_mvm_tzone_get_temp(struct\n"
+ "> > > thermal_zone_device *device,\n"
+ "> > > \n"
+ "> > >         mutex_lock(&mvm->mutex);\n"
+ "> > > \n"
+ "> > > -       if (!mvm->ucode_loaded || !(mvm->cur_ucode ==\n"
+ "> > > IWL_UCODE_REGULAR)) {\n"
+ "> > > -               ret = -EIO;\n"
+ "> > > -               goto out;\n"
+ "> > > -       }\n"
+ "> > > -\n"
+ "> > >         ret = iwl_mvm_get_temp(mvm, &temp);\n"
+ "> > >         if (ret)\n"
+ "> > >                 goto out;\n"
+ "> > > @@ -684,11 +679,6 @@ static int\n"
+ "> > > iwl_mvm_tzone_set_trip_temp(struct thermal_zone_device *device,\n"
+ "> > > \n"
+ "> > >         mutex_lock(&mvm->mutex);\n"
+ "> > > \n"
+ "> > > -       if (!mvm->ucode_loaded || !(mvm->cur_ucode ==\n"
+ "> > > IWL_UCODE_REGULAR)) {\n"
+ "> > > -               ret = -EIO;\n"
+ "> > > -               goto out;\n"
+ "> > > -       }\n"
+ "> > > -\n"
+ "> > >         if (trip < 0 || trip >= IWL_MAX_DTS_TRIPS) {\n"
+ "> > >                 ret = -EINVAL;\n"
+ "> > >                 goto out;\n"
+ "> > > @@ -750,6 +740,9 @@ static void\n"
+ "> > > iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)\n"
+ "> > >                 return;\n"
+ "> > >         }\n"
+ "> > > \n"
+ "> > > +       if (!mvm->ucode_loaded || !(mvm->cur_ucode ==\n"
+ "> > > IWL_UCODE_REGULAR))\n"
+ "> > > +               return;\n"
+ "> > > +\n"
+ "> > >         BUILD_BUG_ON(ARRAY_SIZE(name) >= THERMAL_NAME_LENGTH);\n"
+ "> > > \n"
+ "> > >         mvm->tz_device.tzone = thermal_zone_device_register(name,\n"
+ "> > > --\n"
+ "> > > 1.7.9.3\n"
+ "> > > \n"
+ "> > > --\n"
+ "> > > To unsubscribe from this list: send the line \"unsubscribe linux\n"
+ "> > > -wireless\" in\n"
+ "> > > the body of a message to majordomo@vger.kernel.org\n"
+ "> > > More majordomo info at  \n"
+ > > > http://vger.kernel.org/majordomo-info.html
 
-8af105f14095619bef248d7cf419378ca7d7872df5a7e4577fadbb290b243808
+0b97c6047b5fea69b52c7e2c90b794233442fef236741cb95abd130cb822fb38

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.