From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Louis Chauvet <louis.chauvet@bootlin.com>,
Mark Brown <broonie@kernel.org>
Subject: [PATCH 6.6 137/156] spi: atmel: Fix clock issue when using devices with different polarities
Date: Sat, 30 Dec 2023 11:59:51 +0000 [thread overview]
Message-ID: <20231230115816.821879397@linuxfoundation.org> (raw)
In-Reply-To: <20231230115812.333117904@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Louis Chauvet <louis.chauvet@bootlin.com>
commit fc70d643a2f6678cbe0f5c86433c1aeb4d613fcc upstream.
The current Atmel SPI controller driver (v2) behaves incorrectly when
using two SPI devices with different clock polarities and GPIO CS.
When switching from one device to another, the controller driver first
enables the CS and then applies whatever configuration suits the targeted
device (typically, the polarities). The side effect of such order is the
apparition of a spurious clock edge after enabling the CS when the clock
polarity needs to be inverted wrt. the previous configuration of the
controller.
This parasitic clock edge is problematic when the SPI device uses that edge
for internal processing, which is perfectly legitimate given that its CS
was asserted. Indeed, devices such as HVS8080 driven by driver gpio-sr in
the kernel are shift registers and will process this first clock edge to
perform a first register shift. In this case, the first bit gets lost and
the whole data block that will later be read by the kernel is all shifted
by one.
Current behavior:
The actual switching of the clock polarity only occurs after the CS
when the controller sends the first message:
CLK ------------\ /-\ /-\
| | | | | . . .
\---/ \-/ \
CS -----\
|
\------------------
^ ^ ^
| | |
| | Actual clock of the message sent
| |
| Change of clock polarity, which occurs with the first
| write to the bus. This edge occurs when the CS is
| already asserted, and can be interpreted as
| the first clock edge by the receiver.
|
GPIO CS toggle
This issue is specific to this controller because while the SPI core
performs the operations in the right order, the controller however does
not. In practice, the controller only applies the clock configuration right
before the first transmission.
So this is not a problem when using the controller's dedicated CS, as the
controller does things correctly, but it becomes a problem when you need to
change the clock polarity and use an external GPIO for the CS.
One possible approach to solve this problem is to send a dummy message
before actually activating the CS, so that the controller applies the clock
polarity beforehand.
New behavior:
CLK ------\ /-\ /-\ /-\ /-\
| | | ... | | | | ... | |
\------/ \- -/ \------/ \- -/ \------
CS -\/-----------------------\
|| |
\/ \---------------------
^ ^ ^ ^ ^
| | | | |
| | | | Expected clock cycles when
| | | | sending the message
| | | |
| | | Actual GPIO CS activation, occurs inside
| | | the driver
| | |
| | Dummy message, to trigger clock polarity
| | reconfiguration. This message is not received and
| | processed by the device because CS is low.
| |
| Change of clock polarity, forced by the dummy message. This
| time, the edge is not detected by the receiver.
|
This small spike in CS activation is due to the fact that the
spi-core activates the CS gpio before calling the driver's
set_cs callback, which deactivates this gpio again until the
clock polarity is correct.
To avoid having to systematically send a dummy packet, the driver keeps
track of the clock's current polarity. In this way, it only sends the dummy
packet when necessary, ensuring that the clock will have the correct
polarity when the CS is toggled.
There could be two hardware problems with this patch:
1- Maybe the small CS activation peak can confuse SPI devices
2- If on a design, a single wire is used to select two devices depending
on its state, the dummy message may disturb them.
Fixes: 5ee36c989831 ("spi: atmel_spi update chipselect handling")
Cc: <stable@vger.kernel.org>
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
Link: https://msgid.link/r/20231204154903.11607-1-louis.chauvet@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/spi/spi-atmel.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 81 insertions(+), 1 deletion(-)
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -22,6 +22,7 @@
#include <linux/gpio/consumer.h>
#include <linux/pinctrl/consumer.h>
#include <linux/pm_runtime.h>
+#include <linux/iopoll.h>
#include <trace/events/spi.h>
/* SPI register offsets */
@@ -279,6 +280,7 @@ struct atmel_spi {
bool keep_cs;
u32 fifo_size;
+ bool last_polarity;
u8 native_cs_free;
u8 native_cs_for_gpio;
};
@@ -292,6 +294,22 @@ struct atmel_spi_device {
#define INVALID_DMA_ADDRESS 0xffffffff
/*
+ * This frequency can be anything supported by the controller, but to avoid
+ * unnecessary delay, the highest possible frequency is chosen.
+ *
+ * This frequency is the highest possible which is not interfering with other
+ * chip select registers (see Note for Serial Clock Bit Rate configuration in
+ * Atmel-11121F-ATARM-SAMA5D3-Series-Datasheet_02-Feb-16, page 1283)
+ */
+#define DUMMY_MSG_FREQUENCY 0x02
+/*
+ * 8 bits is the minimum data the controller is capable of sending.
+ *
+ * This message can be anything as it should not be treated by any SPI device.
+ */
+#define DUMMY_MSG 0xAA
+
+/*
* Version 2 of the SPI controller has
* - CR.LASTXFER
* - SPI_MR.DIV32 may become FDIV or must-be-zero (here: always zero)
@@ -305,6 +323,43 @@ static bool atmel_spi_is_v2(struct atmel
}
/*
+ * Send a dummy message.
+ *
+ * This is sometimes needed when using a CS GPIO to force clock transition when
+ * switching between devices with different polarities.
+ */
+static void atmel_spi_send_dummy(struct atmel_spi *as, struct spi_device *spi, int chip_select)
+{
+ u32 status;
+ u32 csr;
+
+ /*
+ * Set a clock frequency to allow sending message on SPI bus.
+ * The frequency here can be anything, but is needed for
+ * the controller to send the data.
+ */
+ csr = spi_readl(as, CSR0 + 4 * chip_select);
+ csr = SPI_BFINS(SCBR, DUMMY_MSG_FREQUENCY, csr);
+ spi_writel(as, CSR0 + 4 * chip_select, csr);
+
+ /*
+ * Read all data coming from SPI bus, needed to be able to send
+ * the message.
+ */
+ spi_readl(as, RDR);
+ while (spi_readl(as, SR) & SPI_BIT(RDRF)) {
+ spi_readl(as, RDR);
+ cpu_relax();
+ }
+
+ spi_writel(as, TDR, DUMMY_MSG);
+
+ readl_poll_timeout_atomic(as->regs + SPI_SR, status,
+ (status & SPI_BIT(TXEMPTY)), 1, 1000);
+}
+
+
+/*
* Earlier SPI controllers (e.g. on at91rm9200) have a design bug whereby
* they assume that spi slave device state will not change on deselect, so
* that automagic deselection is OK. ("NPCSx rises if no data is to be
@@ -320,11 +375,17 @@ static bool atmel_spi_is_v2(struct atmel
* Master on Chip Select 0.") No workaround exists for that ... so for
* nCS0 on that chip, we (a) don't use the GPIO, (b) can't support CS_HIGH,
* and (c) will trigger that first erratum in some cases.
+ *
+ * When changing the clock polarity, the SPI controller waits for the next
+ * transmission to enforce the default clock state. This may be an issue when
+ * using a GPIO as Chip Select: the clock level is applied only when the first
+ * packet is sent, once the CS has already been asserted. The workaround is to
+ * avoid this by sending a first (dummy) message before toggling the CS state.
*/
-
static void cs_activate(struct atmel_spi *as, struct spi_device *spi)
{
struct atmel_spi_device *asd = spi->controller_state;
+ bool new_polarity;
int chip_select;
u32 mr;
@@ -353,6 +414,25 @@ static void cs_activate(struct atmel_spi
}
mr = spi_readl(as, MR);
+
+ /*
+ * Ensures the clock polarity is valid before we actually
+ * assert the CS to avoid spurious clock edges to be
+ * processed by the spi devices.
+ */
+ if (spi_get_csgpiod(spi, 0)) {
+ new_polarity = (asd->csr & SPI_BIT(CPOL)) != 0;
+ if (new_polarity != as->last_polarity) {
+ /*
+ * Need to disable the GPIO before sending the dummy
+ * message because it is already set by the spi core.
+ */
+ gpiod_set_value_cansleep(spi_get_csgpiod(spi, 0), 0);
+ atmel_spi_send_dummy(as, spi, chip_select);
+ as->last_polarity = new_polarity;
+ gpiod_set_value_cansleep(spi_get_csgpiod(spi, 0), 1);
+ }
+ }
} else {
u32 cpol = (spi->mode & SPI_CPOL) ? SPI_BIT(CPOL) : 0;
int i;
next prev parent reply other threads:[~2023-12-30 12:07 UTC|newest]
Thread overview: 176+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-30 11:57 [PATCH 6.6 000/156] 6.6.9-rc1 review Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 001/156] bpf: Fix prog_array_map_poke_run map poke update Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 002/156] mm/damon/core: use number of passed access sampling as a timer Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 003/156] mm/damon/core: make damon_start() waits until kdamond_fn() starts Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 004/156] btrfs: qgroup: iterate qgroups without memory allocation for qgroup_reserve() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 005/156] btrfs: qgroup: use qgroup_iterator in qgroup_convert_meta() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 006/156] btrfs: free qgroup pertrans reserve on transaction abort Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 007/156] drm/amd/display: fix hw rotated modes when PSR-SU is enabled Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 008/156] drm/i915: Fix FEC state dump Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 009/156] drm/i915: Introduce crtc_state->enhanced_framing Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 010/156] drm/i915/edp: dont write to DP_LINK_BW_SET when using rate select Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 011/156] drm: Update file owner during use Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 012/156] drm: Fix FD ownership check in drm_master_check_perm() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 013/156] spi: spi-imx: correctly configure burst length when using dma Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 014/156] arm64: dts: allwinner: h616: update emac for Orange Pi Zero 3 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 015/156] ARM: dts: dra7: Fix DRA7 L3 NoC node register size Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 016/156] ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 017/156] reset: Fix crash when freeing non-existent optional resets Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 018/156] s390/vx: fix save/restore of fpu kernel context Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 019/156] platform/x86/intel/pmc: Fix hang in pmc_core_send_ltr_ignore() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 020/156] SUNRPC: Revert 5f7fc5d69f6e92ec0b38774c387f5cf7812c5806 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 021/156] wifi: ieee80211: dont require protected vendor action frames Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 022/156] wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 023/156] wifi: mac80211: check if the existing link config remains unchanged Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 024/156] wifi: mac80211: dont re-add debugfs during reconfig Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 025/156] wifi: mac80211: check defragmentation succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 026/156] wifi: mac80211: mesh: check element parsing succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 027/156] wifi: mac80211: mesh_plink: fix matches_local logic Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 028/156] ice: fix theoretical out-of-bounds access in ethtool link modes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 029/156] bpf: syzkaller found null ptr deref in unix_bpf proto add Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 030/156] Revert "net/mlx5e: fix double free of encap_header in update funcs" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 031/156] Revert "net/mlx5e: fix double free of encap_header" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 032/156] net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 033/156] net/mlx5e: Fix a race in command alloc flow Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 034/156] net/mlx5e: fix a potential double-free in fs_udp_create_groups Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 035/156] net/mlx5e: Fix overrun reported by coverity Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 036/156] net/mlx5e: Decrease num_block_tc when unblock tc offload Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 037/156] net/mlx5e: XDP, Drop fragmented packets larger than MTU size Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 038/156] net/mlx5: Fix fw tracer first block check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 039/156] net/mlx5: Refactor mlx5_flow_destination->rep pointer to vport num Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 040/156] net/mlx5e: Fix error code in mlx5e_tc_action_miss_mapping_get() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 041/156] net/mlx5e: Fix error codes in alloc_branch_attr() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 042/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 043/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 044/156] net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 045/156] net: mscc: ocelot: fix pMAC " Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 046/156] octeontx2-pf: Fix graceful exit during PFC configuration failure Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 047/156] net: Return error from sk_stream_wait_connect() if sk_wait_event() fails Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 048/156] net: sched: ife: fix potential use-after-free Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 049/156] ethernet: atheros: fix a memleak in atl1e_setup_ring_resources Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 050/156] net/rose: fix races in rose_kill_by_device() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 051/156] Bluetooth: Fix not notifying when connection encryption changes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 052/156] Bluetooth: Fix deadlock in vhci_send_frame Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 053/156] Bluetooth: hci_event: shut up a false-positive warning Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 054/156] Bluetooth: hci_core: Fix hci_conn_hash_lookup_cis Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 055/156] bnxt_en: do not map packet buffers twice Greg Kroah-Hartman
2024-01-02 15:22 ` Andy Gospodarek
2024-01-03 10:04 ` Greg Kroah-Hartman
2024-01-04 20:07 ` Andy Gospodarek
2024-01-05 9:52 ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 056/156] net: phy: skip LED triggers on PHYs on SFP modules Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 057/156] ice: stop trashing VF VSI aggregator node ID information Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 058/156] ice: alter feature support check for SRIOV and LAG Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 059/156] ice: Fix PF with enabled XDP going no-carrier after reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 060/156] net: mana: select PAGE_POOL Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 061/156] net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 062/156] afs: Fix the dynamic roots d_delete to always delete unused dentries Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 063/156] afs: Fix dynamic root lookup DNS check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 064/156] net: ethernet: mtk_wed: fix possible NULL pointer dereference in mtk_wed_wo_queue_tx_clean() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 065/156] net/ipv6: Revert remove expired routes with a separated list of routes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 066/156] net: check dev->gso_max_size in gso_features_check() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 067/156] keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry Greg Kroah-Hartman
2024-01-05 2:13 ` Jeffrey E Altman
2024-01-05 9:51 ` Greg Kroah-Hartman
2024-01-05 10:06 ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 068/156] afs: Fix overwriting of result of DNS query Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 069/156] afs: Fix use-after-free due to get/remove race in volume tree Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 070/156] drm/i915/hwmon: Fix static analysis tool reported issues Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 071/156] drm/i915/mtl: Fix HDMI/DP PLL clock selection Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 072/156] ASoC: hdmi-codec: fix missing report for jack initial status Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 073/156] ASoC: fsl_sai: Fix channel swap issue on i.MX8MP Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 074/156] i2c: qcom-geni: fix missing clk_disable_unprepare() and geni_se_resources_off() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 075/156] drm/amdgpu: re-create idle bos PTE during VM state machine reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 076/156] i2c: aspeed: Handle the coalesced stop conditions with the start conditions Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 077/156] x86/xen: add CPU dependencies for 32-bit build Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 078/156] pinctrl: at91-pio4: use dedicated lock class for IRQ Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 079/156] gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 080/156] nvme-pci: fix sleeping function called from interrupt context Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 081/156] interconnect: Treat xlate() returning NULL node as an error Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 082/156] iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 083/156] interconnect: qcom: sm8250: Enable sync_state Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 084/156] Input: ipaq-micro-keys - add error handling for devm_kmemdup Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 085/156] iio: adc: meson: add separate config for axg SoC family Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 086/156] scsi: bnx2fc: Fix skb double free in bnx2fc_rcv() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 087/156] scsi: ufs: qcom: Return ufs_qcom_clk_scale_*() errors in ufs_qcom_clk_scale_notify() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 088/156] scsi: ufs: core: Let the sq_lock protect sq_tail_slot access Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 089/156] iio: kx022a: Fix acceleration value scaling Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 090/156] iio: adc: imx93: add four channels for imx93 adc Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 091/156] iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 092/156] iio: imu: adis16475: add spi_device_id table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 093/156] iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 094/156] iio: tmag5273: fix temperature offset Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 095/156] iio: triggered-buffer: prevent possible freeing of wrong buffer Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 096/156] ALSA: usb-audio: Increase delay in MOTU M quirk Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 097/156] ARM: dts: Fix occasional boot hang for am3 usb Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 098/156] usb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3 Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 099/156] wifi: mt76: fix crash with WED rx support enabled Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 100/156] wifi: cfg80211: Add my certificate Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 101/156] wifi: cfg80211: fix certs build to not depend on file order Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 102/156] USB: serial: ftdi_sio: update Actisense PIDs constant names Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 103/156] USB: serial: option: add Quectel EG912Y module support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 104/156] USB: serial: option: add Foxconn T99W265 with new baseline Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 105/156] USB: serial: option: add Quectel RM500Q R13 firmware support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 106/156] ALSA: hda/tas2781: select program 0, conf 0 by default Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 107/156] ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 108/156] ASoC: tas2781: check the validity of prm_no/cfg_no Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 109/156] Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 110/156] Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 111/156] Bluetooth: L2CAP: Send reject on command corrupted request Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 112/156] Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 113/156] Bluetooth: Add more enc key size check Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 114/156] usb: typec: ucsi: fix gpio-based orientation detection Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 115/156] usb: fotg210-hcd: delete an incorrect bounds test Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 116/156] net: usb: ax88179_178a: avoid failed operations when device is disconnected Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 117/156] Input: soc_button_array - add mapping for airplane mode button Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 118/156] net: 9p: avoid freeing uninit memory in p9pdu_vreadf Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 119/156] net: rfkill: gpio: set GPIO direction Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 120/156] net: ks8851: Fix TX stall caused by TX buffer overrun Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 121/156] net: avoid build bug in skb extension length calculation Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 122/156] net: stmmac: fix incorrect flag check in timestamp interrupt Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 123/156] dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 124/156] nfsd: call nfsd_last_thread() before final nfsd_put() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 125/156] smb: client: fix OOB in cifsd when receiving compounded resps Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 126/156] smb: client: fix potential OOB in cifs_dump_detail() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 127/156] smb: client: fix OOB in SMB2_query_info_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 128/156] smb: client: fix OOB in smbCalcSize() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 129/156] drm/i915: Reject async flips with bigjoiner Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 130/156] drm/i915/dmc: Dont enable any pipe DMC events Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 131/156] 9p: prevent read overrun in protocol dump tracepoint Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 132/156] ring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 133/156] ring-buffer: Remove useless update to write_stamp in rb_try_to_discard() Greg Kroah-Hartman
2023-12-30 21:47 ` Steven Rostedt
2024-01-03 10:05 ` Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 134/156] ring-buffer: Fix slowpath of interrupted event Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 135/156] spi: atmel: Do not cancel a transfer upon any signal Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 136/156] spi: atmel: Prevent spi transfers from being killed Greg Kroah-Hartman
2023-12-30 11:59 ` Greg Kroah-Hartman [this message]
2023-12-30 11:59 ` [PATCH 6.6 138/156] nvmem: brcm_nvram: store a copy of NVRAM content Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 139/156] Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 140/156] scsi: core: Always send batch on reset or error handling command Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 141/156] tracing / synthetic: Disable events after testing in synth_event_gen_test_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 142/156] dm-integrity: dont modify bios immutable bio_vec in integrity_metadata() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 143/156] selftests: mptcp: join: fix subflow_send_ack lookup Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 144/156] pinctrl: starfive: jh7110: ignore disabled device tree nodes Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 145/156] pinctrl: starfive: jh7100: " Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 146/156] bus: ti-sysc: Flush posted write only after srst_udelay Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 147/156] gpio: dwapb: mask/unmask IRQ when disable/enale it Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 148/156] lib/vsprintf: Fix %pfwf when current node refcount == 0 Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 149/156] thunderbolt: Fix memory leak in margining_port_remove() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 150/156] KVM: arm64: vgic: Simplify kvm_vgic_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 151/156] KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 152/156] KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 153/156] x86/alternatives: Sync core before enabling interrupts Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 154/156] x86/alternatives: Disable interrupts and sync when optimizing NOPs in place Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 155/156] x86/smpboot/64: Handle X2APIC BIOS inconsistency gracefully Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 156/156] spi: cadence: revert "Add SPI transfer delays" Greg Kroah-Hartman
2023-12-30 12:59 ` [PATCH 6.6 000/156] 6.6.9-rc1 review Ricardo B. Marliere
2023-12-30 15:05 ` Takeshi Ogasawara
2023-12-30 16:59 ` Florian Fainelli
2023-12-30 18:11 ` SeongJae Park
2023-12-31 1:03 ` Ron Economos
2023-12-31 3:18 ` Luna Jernberg
2023-12-31 9:18 ` Greg Kroah-Hartman
2023-12-31 8:10 ` Bagas Sanjaya
2023-12-31 9:19 ` Naresh Kamboju
2023-12-31 16:33 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231230115816.821879397@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=broonie@kernel.org \
--cc=louis.chauvet@bootlin.com \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox