Re: [PATCH v2] hwmon: Driver for temperature sensors on SATA drives

Guenter Roeck
2019-12-19T07:37:52Z

Hi Martin,

On 12/18/19 4:15 PM, Martin K. Petersen wrote:
>
> Guenter,
>
>> This driver solves this problem by adding support for reading the
>> temperature of SATA drives from the kernel using the hwmon API and
>> by adding a temperature zone for each drive.
>
> My working tree is available here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/mkp/linux.git/log/?h=5.6/drivetemp
>

I had a quick look at the patch. Looks good overall. I think you should be able
to use the buffer allocated in struct drivetemp_data (named smartdata). Maybe
rename it to something more generic. If it needs to be dma-aligned, maybe we
can use kzalloc() to allocate it. Only reason I didn't use it for vpd was because
that needed 1024 bytes.

> A few notes:
>
> - Before applying your patch I did s/satatemp/drivetemp/
>
> - I get a crash in the driver core during probe if the drivetemp module
> is loaded prior to loading ahci or a SCSI HBA driver. This crash is
> unrelated to my changes. Haven't had time to debug.
>
Definitely something we'll need to look into. Do you have a traceback ?

Thanks,
Guenter

> - I tweaked your ATA detection heuristics and now use the cached VPD
> page 0x89 instead of fetching one from the device.
>
> - I also added support for reading the temperature log page on SCSI
> drives.
>
> - Tested with a mixed bag of about 40 SCSI and SATA drives attached.
>
> - I still think sensor naming needs work. How and where are the
> "drivetemp-scsi-8-140" names generated?
>
> I'll tinker some more but thought I'd share what I have for now.
>