* FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree
@ 2023-05-07 6:44 gregkh
2023-05-10 22:01 ` Florian Bezdeka
0 siblings, 1 reply; 6+ messages in thread
From: gregkh @ 2023-05-07 6:44 UTC (permalink / raw)
To: yoong.siang.song, anthony.l.nguyen, brouer, davem, jacob.e.keller,
leonro, naamax.meir, stable
Cc: stable
The patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x 3ce29c17dc847bf4245e16aad78a7617afa96297
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2023050749-deskwork-snowboard-82cf@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
Possible dependencies:
3ce29c17dc84 ("igc: read before write to SRRCTL register")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 3ce29c17dc847bf4245e16aad78a7617afa96297 Mon Sep 17 00:00:00 2001
From: Song Yoong Siang <yoong.siang.song@intel.com>
Date: Tue, 2 May 2023 08:48:06 -0700
Subject: [PATCH] igc: read before write to SRRCTL register
igc_configure_rx_ring() function will be called as part of XDP program
setup. If Rx hardware timestamp is enabled prio to XDP program setup,
this timestamp enablement will be overwritten when buffer size is
written into SRRCTL register.
Thus, this commit read the register value before write to SRRCTL
register. This commit is tested by using xdp_hw_metadata bpf selftest
tool. The tool enables Rx hardware timestamp and then attach XDP program
to igc driver. It will display hardware timestamp of UDP packet with
port number 9092. Below are detail of test steps and results.
Command on DUT:
sudo ./xdp_hw_metadata <interface name>
Command on Link Partner:
echo -n skb | nc -u -q1 <destination IPv4 addr> 9092
Result before this patch:
skb hwtstamp is not found!
Result after this patch:
found skb hwtstamp = 1677800973.642836757
Optionally, read PHC to confirm the values obtained are almost the same:
Command:
sudo ./testptp -d /dev/ptp0 -g
Result:
clock time: 1677800973.913598978 or Fri Mar 3 07:49:33 2023
Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy")
Cc: <stable@vger.kernel.org> # 5.14+
Signed-off-by: Song Yoong Siang <yoong.siang.song@intel.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Jesper Dangaard Brouer <brouer@redhat.com>
Tested-by: Jesper Dangaard Brouer <brouer@redhat.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/net/ethernet/intel/igc/igc_base.h b/drivers/net/ethernet/intel/igc/igc_base.h
index 7a992befca24..9f3827eda157 100644
--- a/drivers/net/ethernet/intel/igc/igc_base.h
+++ b/drivers/net/ethernet/intel/igc/igc_base.h
@@ -87,8 +87,13 @@ union igc_adv_rx_desc {
#define IGC_RXDCTL_SWFLUSH 0x04000000 /* Receive Software Flush */
/* SRRCTL bit definitions */
-#define IGC_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */
-#define IGC_SRRCTL_BSIZEHDRSIZE_SHIFT 2 /* Shift _left_ */
-#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF 0x02000000
+#define IGC_SRRCTL_BSIZEPKT_MASK GENMASK(6, 0)
+#define IGC_SRRCTL_BSIZEPKT(x) FIELD_PREP(IGC_SRRCTL_BSIZEPKT_MASK, \
+ (x) / 1024) /* in 1 KB resolution */
+#define IGC_SRRCTL_BSIZEHDR_MASK GENMASK(13, 8)
+#define IGC_SRRCTL_BSIZEHDR(x) FIELD_PREP(IGC_SRRCTL_BSIZEHDR_MASK, \
+ (x) / 64) /* in 64 bytes resolution */
+#define IGC_SRRCTL_DESCTYPE_MASK GENMASK(27, 25)
+#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF FIELD_PREP(IGC_SRRCTL_DESCTYPE_MASK, 1)
#endif /* _IGC_BASE_H */
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index ba49728be919..1c4676882082 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -640,8 +640,11 @@ static void igc_configure_rx_ring(struct igc_adapter *adapter,
else
buf_size = IGC_RXBUFFER_2048;
- srrctl = IGC_RX_HDR_LEN << IGC_SRRCTL_BSIZEHDRSIZE_SHIFT;
- srrctl |= buf_size >> IGC_SRRCTL_BSIZEPKT_SHIFT;
+ srrctl = rd32(IGC_SRRCTL(reg_idx));
+ srrctl &= ~(IGC_SRRCTL_BSIZEPKT_MASK | IGC_SRRCTL_BSIZEHDR_MASK |
+ IGC_SRRCTL_DESCTYPE_MASK);
+ srrctl |= IGC_SRRCTL_BSIZEHDR(IGC_RX_HDR_LEN);
+ srrctl |= IGC_SRRCTL_BSIZEPKT(buf_size);
srrctl |= IGC_SRRCTL_DESCTYPE_ADV_ONEBUF;
wr32(IGC_SRRCTL(reg_idx), srrctl);
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree
2023-05-07 6:44 FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree gregkh
@ 2023-05-10 22:01 ` Florian Bezdeka
2023-05-10 22:45 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Florian Bezdeka @ 2023-05-10 22:01 UTC (permalink / raw)
To: gregkh, yoong.siang.song, anthony.l.nguyen, brouer, davem,
jacob.e.keller, leonro, naamax.meir, stable
Hi all,
On 07.05.23 08:44, gregkh@linuxfoundation.org wrote:
>
> The patch below does not apply to the 6.1-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
>
> To reproduce the conflict and resubmit, you may use the following commands:
>
> git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
> git checkout FETCH_HEAD
> git cherry-pick -x 3ce29c17dc847bf4245e16aad78a7617afa96297
> # <resolve conflicts, build, test, etc.>
> git commit -s
> git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2023050749-deskwork-snowboard-82cf@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
Is someone already working on that? I would love to see this patch in
6.1. If no further activities are planned I might have the option/time
to supply a backport as well.
Regards,
Florian
>
> Possible dependencies:
>
> 3ce29c17dc84 ("igc: read before write to SRRCTL register")
>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> From 3ce29c17dc847bf4245e16aad78a7617afa96297 Mon Sep 17 00:00:00 2001
> From: Song Yoong Siang <yoong.siang.song@intel.com>
> Date: Tue, 2 May 2023 08:48:06 -0700
> Subject: [PATCH] igc: read before write to SRRCTL register
>
> igc_configure_rx_ring() function will be called as part of XDP program
> setup. If Rx hardware timestamp is enabled prio to XDP program setup,
> this timestamp enablement will be overwritten when buffer size is
> written into SRRCTL register.
>
> Thus, this commit read the register value before write to SRRCTL
> register. This commit is tested by using xdp_hw_metadata bpf selftest
> tool. The tool enables Rx hardware timestamp and then attach XDP program
> to igc driver. It will display hardware timestamp of UDP packet with
> port number 9092. Below are detail of test steps and results.
>
> Command on DUT:
> sudo ./xdp_hw_metadata <interface name>
>
> Command on Link Partner:
> echo -n skb | nc -u -q1 <destination IPv4 addr> 9092
>
> Result before this patch:
> skb hwtstamp is not found!
>
> Result after this patch:
> found skb hwtstamp = 1677800973.642836757
>
> Optionally, read PHC to confirm the values obtained are almost the same:
> Command:
> sudo ./testptp -d /dev/ptp0 -g
> Result:
> clock time: 1677800973.913598978 or Fri Mar 3 07:49:33 2023
>
> Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy")
> Cc: <stable@vger.kernel.org> # 5.14+
> Signed-off-by: Song Yoong Siang <yoong.siang.song@intel.com>
> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Jesper Dangaard Brouer <brouer@redhat.com>
> Tested-by: Jesper Dangaard Brouer <brouer@redhat.com>
> Tested-by: Naama Meir <naamax.meir@linux.intel.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
>
> diff --git a/drivers/net/ethernet/intel/igc/igc_base.h b/drivers/net/ethernet/intel/igc/igc_base.h
> index 7a992befca24..9f3827eda157 100644
> --- a/drivers/net/ethernet/intel/igc/igc_base.h
> +++ b/drivers/net/ethernet/intel/igc/igc_base.h
> @@ -87,8 +87,13 @@ union igc_adv_rx_desc {
> #define IGC_RXDCTL_SWFLUSH 0x04000000 /* Receive Software Flush */
>
> /* SRRCTL bit definitions */
> -#define IGC_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */
> -#define IGC_SRRCTL_BSIZEHDRSIZE_SHIFT 2 /* Shift _left_ */
> -#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF 0x02000000
> +#define IGC_SRRCTL_BSIZEPKT_MASK GENMASK(6, 0)
> +#define IGC_SRRCTL_BSIZEPKT(x) FIELD_PREP(IGC_SRRCTL_BSIZEPKT_MASK, \
> + (x) / 1024) /* in 1 KB resolution */
> +#define IGC_SRRCTL_BSIZEHDR_MASK GENMASK(13, 8)
> +#define IGC_SRRCTL_BSIZEHDR(x) FIELD_PREP(IGC_SRRCTL_BSIZEHDR_MASK, \
> + (x) / 64) /* in 64 bytes resolution */
> +#define IGC_SRRCTL_DESCTYPE_MASK GENMASK(27, 25)
> +#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF FIELD_PREP(IGC_SRRCTL_DESCTYPE_MASK, 1)
>
> #endif /* _IGC_BASE_H */
> diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
> index ba49728be919..1c4676882082 100644
> --- a/drivers/net/ethernet/intel/igc/igc_main.c
> +++ b/drivers/net/ethernet/intel/igc/igc_main.c
> @@ -640,8 +640,11 @@ static void igc_configure_rx_ring(struct igc_adapter *adapter,
> else
> buf_size = IGC_RXBUFFER_2048;
>
> - srrctl = IGC_RX_HDR_LEN << IGC_SRRCTL_BSIZEHDRSIZE_SHIFT;
> - srrctl |= buf_size >> IGC_SRRCTL_BSIZEPKT_SHIFT;
> + srrctl = rd32(IGC_SRRCTL(reg_idx));
> + srrctl &= ~(IGC_SRRCTL_BSIZEPKT_MASK | IGC_SRRCTL_BSIZEHDR_MASK |
> + IGC_SRRCTL_DESCTYPE_MASK);
> + srrctl |= IGC_SRRCTL_BSIZEHDR(IGC_RX_HDR_LEN);
> + srrctl |= IGC_SRRCTL_BSIZEPKT(buf_size);
> srrctl |= IGC_SRRCTL_DESCTYPE_ADV_ONEBUF;
>
> wr32(IGC_SRRCTL(reg_idx), srrctl);
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree
2023-05-10 22:01 ` Florian Bezdeka
@ 2023-05-10 22:45 ` Greg KH
2023-05-11 6:56 ` Song, Yoong Siang
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2023-05-10 22:45 UTC (permalink / raw)
To: Florian Bezdeka
Cc: yoong.siang.song, anthony.l.nguyen, brouer, davem, jacob.e.keller,
leonro, naamax.meir, stable
On Thu, May 11, 2023 at 12:01:36AM +0200, Florian Bezdeka wrote:
> Hi all,
>
> On 07.05.23 08:44, gregkh@linuxfoundation.org wrote:
> >
> > The patch below does not apply to the 6.1-stable tree.
> > If someone wants it applied there, or to any other stable or longterm
> > tree, then please email the backport, including the original git commit
> > id to <stable@vger.kernel.org>.
> >
> > To reproduce the conflict and resubmit, you may use the following commands:
> >
> > git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
> > git checkout FETCH_HEAD
> > git cherry-pick -x 3ce29c17dc847bf4245e16aad78a7617afa96297
> > # <resolve conflicts, build, test, etc.>
> > git commit -s
> > git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2023050749-deskwork-snowboard-82cf@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
>
> Is someone already working on that? I would love to see this patch in
> 6.1. If no further activities are planned I might have the option/time
> to supply a backport as well.
Please supply a backport, I don't think anyone is working on it :)
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree
2023-05-10 22:45 ` Greg KH
@ 2023-05-11 6:56 ` Song, Yoong Siang
2023-05-15 18:13 ` florian
0 siblings, 1 reply; 6+ messages in thread
From: Song, Yoong Siang @ 2023-05-11 6:56 UTC (permalink / raw)
To: Greg KH, Florian Bezdeka
Cc: Nguyen, Anthony L, Brouer, Jesper, davem@davemloft.net,
Keller, Jacob E, leonro@nvidia.com, naamax.meir@linux.intel.com,
stable@vger.kernel.org
On Thursday, May 11, 2023 6:46 AM , Greg KH <gregkh@linuxfoundation.org> wrote:
>On Thu, May 11, 2023 at 12:01:36AM +0200, Florian Bezdeka wrote:
>> Hi all,
>>
>> On 07.05.23 08:44, gregkh@linuxfoundation.org wrote:
>> >
>> > The patch below does not apply to the 6.1-stable tree.
>> > If someone wants it applied there, or to any other stable or
>> > longterm tree, then please email the backport, including the
>> > original git commit id to <stable@vger.kernel.org>.
>> >
>> > To reproduce the conflict and resubmit, you may use the following commands:
>> >
>> > git fetch
>> > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
>> > linux-6.1.y git checkout FETCH_HEAD git cherry-pick -x
>> > 3ce29c17dc847bf4245e16aad78a7617afa96297
>> > # <resolve conflicts, build, test, etc.> git commit -s git
>> > send-email --to '<stable@vger.kernel.org>' --in-reply-to '2023050749-
>deskwork-snowboard-82cf@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
>>
>> Is someone already working on that? I would love to see this patch in
>> 6.1. If no further activities are planned I might have the option/time
>> to supply a backport as well.
>
>Please supply a backport, I don't think anyone is working on it :)
Hi Florian,
I not yet got plan to backport the patch, so I am more than happy
if you could supply a backport.
Most probably the issue is due to missing "#include <linux/bitfield.h>".
Will you do it for 5.15 and 6.2 as well?
Thanks & Regards
Siang
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree
2023-05-11 6:56 ` Song, Yoong Siang
@ 2023-05-15 18:13 ` florian
2023-05-16 2:05 ` Song, Yoong Siang
0 siblings, 1 reply; 6+ messages in thread
From: florian @ 2023-05-15 18:13 UTC (permalink / raw)
To: Song, Yoong Siang
Cc: Greg KH, Nguyen, Anthony L, Brouer, Jesper, davem,
Keller, Jacob E, leonro, naamax.meir, stable
Am 2023-05-11 08:56, schrieb Song, Yoong Siang:
> On Thursday, May 11, 2023 6:46 AM , Greg KH
> <gregkh@linuxfoundation.org> wrote:
>> On Thu, May 11, 2023 at 12:01:36AM +0200, Florian Bezdeka wrote:
>>> Hi all,
>>>
>>> On 07.05.23 08:44, gregkh@linuxfoundation.org wrote:
>>> >
>>> > The patch below does not apply to the 6.1-stable tree.
>>> > If someone wants it applied there, or to any other stable or
>>> > longterm tree, then please email the backport, including the
>>> > original git commit id to <stable@vger.kernel.org>.
>>> >
>>> > To reproduce the conflict and resubmit, you may use the following commands:
>>> >
>>> > git fetch
>>> > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
>>> > linux-6.1.y git checkout FETCH_HEAD git cherry-pick -x
>>> > 3ce29c17dc847bf4245e16aad78a7617afa96297
>>> > # <resolve conflicts, build, test, etc.> git commit -s git
>>> > send-email --to '<stable@vger.kernel.org>' --in-reply-to '2023050749-
>> deskwork-snowboard-82cf@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
>>>
>>> Is someone already working on that? I would love to see this patch in
>>> 6.1. If no further activities are planned I might have the
>>> option/time
>>> to supply a backport as well.
>>
>> Please supply a backport, I don't think anyone is working on it :)
>
> Hi Florian,
>
> I not yet got plan to backport the patch, so I am more than happy
> if you could supply a backport.
>
> Most probably the issue is due to missing "#include
> <linux/bitfield.h>".
Exactly.
The build failure:
In file included from drivers/net/ethernet/intel/igc/igc_hw.h:17,
from drivers/net/ethernet/intel/igc/igc.h:17,
from drivers/net/ethernet/intel/igc/igc_main.c:19:
drivers/net/ethernet/intel/igc/igc_main.c: In function
‘igc_configure_rx_ring’:
drivers/net/ethernet/intel/igc/igc_base.h:92:41: error: implicit
declaration of function ‘FIELD_PREP’
[-Werror=implicit-function-declaration]
92 | #define IGC_SRRCTL_BSIZEHDR(x)
FIELD_PREP(IGC_SRRCTL_BSIZEHDR_MASK, \
| ^~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:647:19: note: in expansion of
macro ‘IGC_SRRCTL_BSIZEHDR’
647 | srrctl |= IGC_SRRCTL_BSIZEHDR(IGC_RX_HDR_LEN);
|
For 6.3 on-wards we have the following include chain:
In file included from ./include/net/xdp.h:11,
from ./include/linux/netdevice.h:43,
from ./include/linux/if_vlan.h:10,
from drivers/net/ethernet/intel/igc/igc_main.c:6:
I think <linux/bitfield.h> is available "by accident" and your mainline
patch
is faulty. igc_base.h now depends on bitfield.h but you forgot to
include it.
How do we deal with that? I think it should be fixed in mainline as
well.
I fear that adding the missing include in igc_base.h within the backport
breaks any further auto-backporting for the igc driver as patches might
not apply cleanly when stable diverges from mainline.
Florian
>
> Will you do it for 5.15 and 6.2 as well?
>
> Thanks & Regards
> Siang
^ permalink raw reply [flat|nested] 6+ messages in thread* RE: FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree
2023-05-15 18:13 ` florian
@ 2023-05-16 2:05 ` Song, Yoong Siang
0 siblings, 0 replies; 6+ messages in thread
From: Song, Yoong Siang @ 2023-05-16 2:05 UTC (permalink / raw)
To: florian@bezdeka.de
Cc: Greg KH, Nguyen, Anthony L, Brouer, Jesper, davem@davemloft.net,
Keller, Jacob E, leonro@nvidia.com, naamax.meir@linux.intel.com,
stable@vger.kernel.org
On Tuesday, May 16, 2023 2:14 AM, florian@bezdeka.de <florian@bezdeka.de> wrote:
>Am 2023-05-11 08:56, schrieb Song, Yoong Siang:
>> On Thursday, May 11, 2023 6:46 AM , Greg KH
>> <gregkh@linuxfoundation.org> wrote:
>>> On Thu, May 11, 2023 at 12:01:36AM +0200, Florian Bezdeka wrote:
>>>> Hi all,
>>>>
>>>> On 07.05.23 08:44, gregkh@linuxfoundation.org wrote:
>>>> >
>>>> > The patch below does not apply to the 6.1-stable tree.
>>>> > If someone wants it applied there, or to any other stable or
>>>> > longterm tree, then please email the backport, including the
>>>> > original git commit id to <stable@vger.kernel.org>.
>>>> >
>>>> > To reproduce the conflict and resubmit, you may use the following
>commands:
>>>> >
>>>> > git fetch
>>>> > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
>>>> > linux-6.1.y git checkout FETCH_HEAD git cherry-pick -x
>>>> > 3ce29c17dc847bf4245e16aad78a7617afa96297
>>>> > # <resolve conflicts, build, test, etc.> git commit -s git
>>>> > send-email --to '<stable@vger.kernel.org>' --in-reply-to
>>>> > '2023050749-
>>> deskwork-snowboard-82cf@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
>>>>
>>>> Is someone already working on that? I would love to see this patch
>>>> in 6.1. If no further activities are planned I might have the
>>>> option/time to supply a backport as well.
>>>
>>> Please supply a backport, I don't think anyone is working on it :)
>>
>> Hi Florian,
>>
>> I not yet got plan to backport the patch, so I am more than happy if
>> you could supply a backport.
>>
>> Most probably the issue is due to missing "#include
>> <linux/bitfield.h>".
>
>Exactly.
>
>The build failure:
>
>In file included from drivers/net/ethernet/intel/igc/igc_hw.h:17,
> from drivers/net/ethernet/intel/igc/igc.h:17,
> from drivers/net/ethernet/intel/igc/igc_main.c:19:
>drivers/net/ethernet/intel/igc/igc_main.c: In function
>‘igc_configure_rx_ring’:
>drivers/net/ethernet/intel/igc/igc_base.h:92:41: error: implicit declaration of
>function ‘FIELD_PREP’
>[-Werror=implicit-function-declaration]
> 92 | #define IGC_SRRCTL_BSIZEHDR(x)
>FIELD_PREP(IGC_SRRCTL_BSIZEHDR_MASK, \
> | ^~~~~~~~~~
>drivers/net/ethernet/intel/igc/igc_main.c:647:19: note: in expansion of macro
>‘IGC_SRRCTL_BSIZEHDR’
> 647 | srrctl |= IGC_SRRCTL_BSIZEHDR(IGC_RX_HDR_LEN);
> |
>
>
>For 6.3 on-wards we have the following include chain:
>
>In file included from ./include/net/xdp.h:11,
> from ./include/linux/netdevice.h:43,
> from ./include/linux/if_vlan.h:10,
> from drivers/net/ethernet/intel/igc/igc_main.c:6:
>
>I think <linux/bitfield.h> is available "by accident" and your mainline patch is
>faulty. igc_base.h now depends on bitfield.h but you forgot to include it.
>
>How do we deal with that? I think it should be fixed in mainline as well.
>
>I fear that adding the missing include in igc_base.h within the backport breaks any
>further auto-backporting for the igc driver as patches might not apply cleanly
>when stable diverges from mainline.
>
>Florian
Yes, I agree that proper fix should be adding "#include <linux/bitfield.h>"
into igc_base.h. Do you got plan to submit the fix upstream?
Recently, there is a bug fix patch merged into bpf-next. That patch will add
"#include <linux/bitfield.h>" into igc.h, which I think should indirectly solve
the problem. Thus, backport this patch will be alternate solution:
https://lore.kernel.org/all/168182464270.616355.11391652654430626584.stgit@firesoul/
Thanks & Regards
Siang
>
>>
>> Will you do it for 5.15 and 6.2 as well?
>>
>> Thanks & Regards
>> Siang
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-05-16 2:05 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-07 6:44 FAILED: patch "[PATCH] igc: read before write to SRRCTL register" failed to apply to 6.1-stable tree gregkh
2023-05-10 22:01 ` Florian Bezdeka
2023-05-10 22:45 ` Greg KH
2023-05-11 6:56 ` Song, Yoong Siang
2023-05-15 18:13 ` florian
2023-05-16 2:05 ` Song, Yoong Siang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox