<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/iio/pressure, branch v7.0.12</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0.12</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0.12'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-06-09T10:32:30+00:00</updated>
<entry>
<title>iio: pressure: bmp280: fix stack leak in bmp580 trigger handler</title>
<updated>2026-06-09T10:32:30+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2026-04-09T13:40:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=58dfb6fe9dc80270cf7cc014837af4cbf928e3aa'/>
<id>urn:sha1:58dfb6fe9dc80270cf7cc014837af4cbf928e3aa</id>
<content type='text'>
commit 387c86b582e0782ab332e7bfcd4e6e3f93922961 upstream.

bmp580_trigger_handler() declares its scan buffer on the stack without
an initializer and then memcpy()s 3 bytes of 24-bit sensor data into
each 4-byte __le32 field.  The high byte of comp_temp and comp_press is
left uninitialized, and the channel storagebits is 32, so two bytes of
stack are pushed to userspace per scan.

This is a regression from when the buffer lived in the private data, the
move to a stack-local struct dropped the implicit zeroing.
bme280_trigger_handler() was fixed up to handle this bug, but this
driver was not fixed because there was no padding hole, but rather a
short-fill issue.

Fix this all by just zero-initializing the structure on the stack.

Cc: Jonathan Cameron &lt;jic23@kernel.org&gt;
Cc: David Lechner &lt;dlechner@baylibre.com&gt;
Cc: "Nuno Sá" &lt;nuno.sa@analog.com&gt;
Cc: Andy Shevchenko &lt;andy@kernel.org&gt;
Fixes: 872c8014e05e ("iio: pressure: bmp280: drop sensor_data array")
Cc: stable &lt;stable@kernel.org&gt;
Assisted-by: gregkh_clanker_t1000
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: David Lechner &lt;dlechner@baylibre.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>iio: pressure: abp2030pa: Remove IRQF_ONESHOT from devm_request_irq()</title>
<updated>2026-03-01T11:20:10+00:00</updated>
<author>
<name>Felix Gu</name>
<email>ustc.gu@gmail.com</email>
</author>
<published>2026-02-27T13:54:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c53bca092486809d266b5921b9e6f9df2688fc26'/>
<id>urn:sha1:c53bca092486809d266b5921b9e6f9df2688fc26</id>
<content type='text'>
Since commit aef30c8d569c ("genirq: Warn about using IRQF_ONESHOT
without a threaded handler"), the IRQ core checks IRQF_ONESHOT flag
in IRQ request and gives a warning if there is no threaded handler.

Remove IRQF_ONESHOT from devm_request_irq().

Fixes: 47d323ce1e89 ("iio: pressure: add Honeywell ABP2 driver")
Reviewed-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Signed-off-by: Felix Gu &lt;ustc.gu@gmail.com&gt;
Tested-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: Replace IRQF_ONESHOT with IRQF_NO_THREAD</title>
<updated>2026-01-29T16:11:50+00:00</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
<email>bigeasy@linutronix.de</email>
</author>
<published>2026-01-28T09:55:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ac9fabd578a03bfa0d599e3fcd9c4e106661e3d2'/>
<id>urn:sha1:ac9fabd578a03bfa0d599e3fcd9c4e106661e3d2</id>
<content type='text'>
Passing IRQF_ONESHOT ensures that the interrupt source is masked until
the secondary (threaded) handler is done. If only a primary handler is
used then the flag makes no sense because the interrupt can not fire
(again) while its handler is running.
The flag also disallows force-threading of the primary handler and the
irq-core will warn about this.

The intention here was probably not allowing forced-threading for
handlers such as iio_trigger_generic_data_rdy_poll() will intends to
invoke hard-interrupt handlers.

Replace IRQF_ONESHOT with IRQF_NO_THREAD.

Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Reviewed-by: Marcus Folkesson &lt;marcus.folkesson@gmail.com&gt;
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: pressure: mprls0025pa: remove error message</title>
<updated>2026-01-22T20:53:18+00:00</updated>
<author>
<name>Petre Rodan</name>
<email>petre.rodan@subdimension.ro</email>
</author>
<published>2026-01-18T11:19:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b0913a44a9ae02f498682e6010b57f773e44f845'/>
<id>urn:sha1:b0913a44a9ae02f498682e6010b57f773e44f845</id>
<content type='text'>
Do not print a duplicate error message if devm_request_irq() fails.

Signed-off-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Suggested-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: pressure: mprls0025pa: add copyright line</title>
<updated>2026-01-16T17:40:41+00:00</updated>
<author>
<name>Petre Rodan</name>
<email>petre.rodan@subdimension.ro</email>
</author>
<published>2026-01-14T16:55:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0b6a86a049f558bf2496c91b1259e1dc34aed938'/>
<id>urn:sha1:0b6a86a049f558bf2496c91b1259e1dc34aed938</id>
<content type='text'>
Add copyright line to the core driver.

Signed-off-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: pressure: mprls0025pa: change measurement sequence</title>
<updated>2026-01-16T17:40:41+00:00</updated>
<author>
<name>Petre Rodan</name>
<email>petre.rodan@subdimension.ro</email>
</author>
<published>2026-01-14T16:55:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=500b36ee448c0e533acaa186383f0311bbb3dfa5'/>
<id>urn:sha1:500b36ee448c0e533acaa186383f0311bbb3dfa5</id>
<content type='text'>
Implement a measurement sequence that does not involve a one byte read of
the status byte before reading the conversion.

The sensor's conversions should be read either once the EoC interrupt
has triggered or 5ms after the 0xaa command. See Options 1 and 2
respectively in Tables 16 (page 15) and 18 (page 18) of the datasheet.
Note that Honeywell's example code also covered in the datasheet follows
Option 2 for both i2c and SPI.

The datasheet does not specify any of the retry parameters that are
currently implemented in the driver. A simple 5+ms sleep as specified in
Option 2 is enough for a valid measurement sequence.

The change also gets rid of the code duplication tied to the verification
of the status byte.

This change only affects users that do not define the EoC interrupt in
the device tree.

Datasheet: https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/micropressure-mpr-series/documents/sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf?download=false
Signed-off-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: pressure: mprls0025pa: stricter checks for the status byte</title>
<updated>2026-01-16T17:40:41+00:00</updated>
<author>
<name>Petre Rodan</name>
<email>petre.rodan@subdimension.ro</email>
</author>
<published>2026-01-14T16:55:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=84e15e1a6e103e5b57852d90ac686d7f0d0d8b0a'/>
<id>urn:sha1:84e15e1a6e103e5b57852d90ac686d7f0d0d8b0a</id>
<content type='text'>
Make sure a valid conversion comes with a status byte that only has
the MPR_ST_POWER bit set.
Return -EBUSY if also MPR_ST_BUSY is set or -EIO otherwise.

Reviewed-by: Marcelo Schmitt &lt;marcelo.schmitt1@gmail.com&gt;
Signed-off-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: pressure: mprls0025pa: move memset to core</title>
<updated>2026-01-16T17:40:41+00:00</updated>
<author>
<name>Petre Rodan</name>
<email>petre.rodan@subdimension.ro</email>
</author>
<published>2026-01-14T16:55:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4edab7b08783f06679de0d24318d92ffc1dfd537'/>
<id>urn:sha1:4edab7b08783f06679de0d24318d92ffc1dfd537</id>
<content type='text'>
Move memset() from the bus specific code into core.

Zeroing out the buffer is performed because the sensor has noticeable
latch-up sensitivity and in some cases it clamps the MISO signal to GND
in sync with SCLK [1]. A raw conversion of zero is out of bounds since
valid values have to be between output_min and output_max (and the
smallest output_min is 2.5% of 2^24 = 419430).

The user is expected to discard out of bounds pressure values.

Given the fact that we can't follow the behaviour of all SPI controllers
when faced to this clamping of an output signal, a raw conversion of zero
is used as an early warning in case the low level SPI API reacts
unexpectedly.

Link: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1588325/am3358-spi-tx-data-corruption [1]
Signed-off-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: pressure: mprls0025pa: introduce tx buffer</title>
<updated>2026-01-16T17:40:40+00:00</updated>
<author>
<name>Petre Rodan</name>
<email>petre.rodan@subdimension.ro</email>
</author>
<published>2026-01-14T16:55:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cf322f806d83b3e221b2b72550c4132b87fa15d9'/>
<id>urn:sha1:cf322f806d83b3e221b2b72550c4132b87fa15d9</id>
<content type='text'>
Use a tx_buf that is part of the priv struct for transferring data to
the sensor instead of relying on a devm_kzalloc()-ed array.
Remove the .init operation in the process.

Reviewed-by: Marcelo Schmitt &lt;marcelo.schmitt1@gmail.com&gt;
Signed-off-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
<entry>
<title>iio: pressure: mprls0025pa: rename buffer variable</title>
<updated>2026-01-16T17:40:40+00:00</updated>
<author>
<name>Petre Rodan</name>
<email>petre.rodan@subdimension.ro</email>
</author>
<published>2026-01-14T16:55:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7071f9f06210c6c828a5db205fa18dfd187ba529'/>
<id>urn:sha1:7071f9f06210c6c828a5db205fa18dfd187ba529</id>
<content type='text'>
For the reason of better naming consistency rename priv-&gt;buffer into
priv-&gt;rx_buf since tx_buf will get introduced in the next patch.

Signed-off-by: Petre Rodan &lt;petre.rodan@subdimension.ro&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
</content>
</entry>
</feed>
