mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
hwmon: (powerz) Avoid cacheline sharing for DMA buffer
Depending on the architecture the transfer buffer may share a cacheline
with the following mutex. As the buffer may be used for DMA, that is
problematic.
Use the high-level DMA helpers to make sure that cacheline sharing can
not happen.
Also drop the comment, as the helpers are documentation enough.
https://sashiko.dev/#/message/20260408175814.934BFC19421%40smtp.kernel.org
Fixes: 4381a36abd ("hwmon: add POWER-Z driver")
Cc: stable@vger.kernel.org # ca085faabb42: dma-mapping: add __dma_from_device_group_begin()/end()
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20260408-powerz-cacheline-alias-v1-1-1254891be0dd@weissschuh.net
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
a7c0aaa50e
commit
3023c050af
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include <linux/completion.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/hwmon.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mutex.h>
|
||||
|
|
@ -33,7 +34,9 @@ struct powerz_sensor_data {
|
|||
} __packed;
|
||||
|
||||
struct powerz_priv {
|
||||
char transfer_buffer[64]; /* first member to satisfy DMA alignment */
|
||||
__dma_from_device_group_begin();
|
||||
char transfer_buffer[64];
|
||||
__dma_from_device_group_end();
|
||||
struct mutex mutex;
|
||||
struct completion completion;
|
||||
struct urb *urb;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user