From: Greg Kroah-Hartman Date: Thu, 29 Nov 2018 12:15:24 +0000 (+0100) Subject: drop broken flexcan patches from 4.14 X-Git-Tag: v4.19.6~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8b24e2864b523dd07ae7fd6a9582051548b02f55;p=thirdparty%2Fkernel%2Fstable-queue.git drop broken flexcan patches from 4.14 --- diff --git a/queue-4.14/can-flexcan-handle-tx-complete-can-frames-via-rx-offload-infrastructure.patch b/queue-4.14/can-flexcan-handle-tx-complete-can-frames-via-rx-offload-infrastructure.patch deleted file mode 100644 index e9a68775b8e..00000000000 --- a/queue-4.14/can-flexcan-handle-tx-complete-can-frames-via-rx-offload-infrastructure.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ed72bc8bcb9277061e753faf300b20f97323761c Mon Sep 17 00:00:00 2001 -From: Oleksij Rempel -Date: Tue, 18 Sep 2018 11:40:39 +0200 -Subject: can: flexcan: handle tx-complete CAN frames via rx-offload infrastructure - -From: Oleksij Rempel - -commit ed72bc8bcb9277061e753faf300b20f97323761c upstream. - -Current flexcan driver will put TX-ECHO in regular unsorted way, in -this case TX-ECHO can come after the response to the same TXed message. -In some cases, for example for J1939 stack, things will break. -This patch is using new rx-offload API to put the messages just in the -right place. - -Signed-off-by: Oleksij Rempel -Cc: linux-stable -Signed-off-by: Marc Kleine-Budde -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/net/can/flexcan.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/drivers/net/can/flexcan.c -+++ b/drivers/net/can/flexcan.c -@@ -775,8 +775,11 @@ static irqreturn_t flexcan_irq(int irq, - - /* transmission complete interrupt */ - if (reg_iflag1 & FLEXCAN_IFLAG_MB(priv->tx_mb_idx)) { -+ u32 reg_ctrl = priv->read(®s->mb[FLEXCAN_TX_MB].can_ctrl); -+ - handled = IRQ_HANDLED; -- stats->tx_bytes += can_get_echo_skb(dev, 0); -+ stats->tx_bytes += can_rx_offload_get_echo_skb(&priv->offload, -+ 0, reg_ctrl << 16); - stats->tx_packets++; - can_led_event(dev, CAN_LED_EVENT_TX); - diff --git a/queue-4.14/can-flexcan-use-can_rx_offload_queue_sorted-for-flexcan_irq_bus_.patch b/queue-4.14/can-flexcan-use-can_rx_offload_queue_sorted-for-flexcan_irq_bus_.patch deleted file mode 100644 index 5e40aa2e37f..00000000000 --- a/queue-4.14/can-flexcan-use-can_rx_offload_queue_sorted-for-flexcan_irq_bus_.patch +++ /dev/null @@ -1,70 +0,0 @@ -From d788905f68fd4714c82936f6f7f1d3644d7ae7ef Mon Sep 17 00:00:00 2001 -From: Oleksij Rempel -Date: Tue, 18 Sep 2018 11:40:41 +0200 -Subject: can: flexcan: use can_rx_offload_queue_sorted() for flexcan_irq_bus_*() - -From: Oleksij Rempel - -commit d788905f68fd4714c82936f6f7f1d3644d7ae7ef upstream. - -Currently, in case of bus error, driver will generate error message and put -in the tail of the message queue. To avoid confusions, this change should -place the bus related messages in proper order. - -Signed-off-by: Oleksij Rempel -Cc: linux-stable -Signed-off-by: Marc Kleine-Budde -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/net/can/flexcan.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - ---- a/drivers/net/can/flexcan.c -+++ b/drivers/net/can/flexcan.c -@@ -550,9 +550,13 @@ static int flexcan_start_xmit(struct sk_ - static void flexcan_irq_bus_err(struct net_device *dev, u32 reg_esr) - { - struct flexcan_priv *priv = netdev_priv(dev); -+ struct flexcan_regs __iomem *regs = priv->regs; - struct sk_buff *skb; - struct can_frame *cf; - bool rx_errors = false, tx_errors = false; -+ u32 timestamp; -+ -+ timestamp = priv->read(®s->timer) << 16; - - skb = alloc_can_err_skb(dev, &cf); - if (unlikely(!skb)) -@@ -599,17 +603,21 @@ static void flexcan_irq_bus_err(struct n - if (tx_errors) - dev->stats.tx_errors++; - -- can_rx_offload_queue_tail(&priv->offload, skb); -+ can_rx_offload_queue_sorted(&priv->offload, skb, timestamp); - } - - static void flexcan_irq_state(struct net_device *dev, u32 reg_esr) - { - struct flexcan_priv *priv = netdev_priv(dev); -+ struct flexcan_regs __iomem *regs = priv->regs; - struct sk_buff *skb; - struct can_frame *cf; - enum can_state new_state, rx_state, tx_state; - int flt; - struct can_berr_counter bec; -+ u32 timestamp; -+ -+ timestamp = priv->read(®s->timer) << 16; - - flt = reg_esr & FLEXCAN_ESR_FLT_CONF_MASK; - if (likely(flt == FLEXCAN_ESR_FLT_CONF_ACTIVE)) { -@@ -639,7 +647,7 @@ static void flexcan_irq_state(struct net - if (unlikely(new_state == CAN_STATE_BUS_OFF)) - can_bus_off(dev); - -- can_rx_offload_queue_tail(&priv->offload, skb); -+ can_rx_offload_queue_sorted(&priv->offload, skb, timestamp); - } - - static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *offload) diff --git a/queue-4.14/series b/queue-4.14/series index 38bfb609e6b..29a86cb9db8 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -39,8 +39,6 @@ can-dev-__can_get_echo_skb-don-t-crash-the-kernel-if-can_priv-echo_skb-is-access can-dev-__can_get_echo_skb-print-error-message-if-trying-to-echo-non-existing-skb.patch can-rx-offload-introduce-can_rx_offload_get_echo_skb-and-can_rx_offload_queue_sorted-functions.patch can-rx-offload-rename-can_rx_offload_irq_queue_err_skb-to-can_rx_offload_queue_tail.patch -can-flexcan-use-can_rx_offload_queue_sorted-for-flexcan_irq_bus_.patch -can-flexcan-handle-tx-complete-can-frames-via-rx-offload-infrastructure.patch can-raw-check-for-can-fd-capable-netdev-in-raw_sendmsg.patch can-hi311x-use-level-triggered-interrupt.patch acpica-aml-interpreter-add-region-addresses-in-global-list-during-initialization.patch