Message ID | 1493680559-6728-1-git-send-email-tushar.n.dave@oracle.com |
---|---|
State | Not Applicable |
Headers | show |
On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: > i40e hardware descriptor fields are in little-endian format. Driver > must use le32_to_cpu while evaluating these fields otherwise on > big-endian arch we end up evaluating incorrect values, cause errors > like: > > i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 > i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 > > Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> > --- > drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Due to recent patches already applied to my tree, this patch does not apply cleanly. Feel free to send an updated patch, if the change is still needed.
On 05/16/2017 04:07 PM, Jeff Kirsher wrote: > On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: >> i40e hardware descriptor fields are in little-endian format. Driver >> must use le32_to_cpu while evaluating these fields otherwise on >> big-endian arch we end up evaluating incorrect values, cause errors >> like: >> >> i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 >> i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 >> >> Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> >> --- >> drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) > > Due to recent patches already applied to my tree, this patch does not > apply cleanly. Feel free to send an updated patch, if the change is > still needed. Okay. I will send v2. Thanks. -Tushar >
On 05/16/2017 04:07 PM, Jeff Kirsher wrote: > On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: >> i40e hardware descriptor fields are in little-endian format. Driver >> must use le32_to_cpu while evaluating these fields otherwise on >> big-endian arch we end up evaluating incorrect values, cause errors >> like: >> >> i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 >> i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 >> >> Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> >> --- >> drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) > > Due to recent patches already applied to my tree, this patch does not > apply cleanly. Feel free to send an updated patch, if the change is > still needed. Hi Jeff, I just tried the same patch on Dave's latest linux-net and it applies cleanly. Wondering if I should clone your tree and make sure it applies? If so, I may need to do same for all my future patches as well, thats a extra bit of work! Most of the time, mine are bug fixes and I always use linux-net when upstreaming my patches for Intel Ethernet drivers. -Tushar >
On Fri, May 19, 2017 at 6:12 PM, tndave <tushar.n.dave@oracle.com> wrote: > > > On 05/16/2017 04:07 PM, Jeff Kirsher wrote: >> >> On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: >>> >>> i40e hardware descriptor fields are in little-endian format. Driver >>> must use le32_to_cpu while evaluating these fields otherwise on >>> big-endian arch we end up evaluating incorrect values, cause errors >>> like: >>> >>> i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 >>> i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 >>> >>> Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> >>> --- >>> drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- >>> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> >> Due to recent patches already applied to my tree, this patch does not >> apply cleanly. Feel free to send an updated patch, if the change is >> still needed. > > Hi Jeff, > > I just tried the same patch on Dave's latest linux-net and it applies > cleanly. Wondering if I should clone your tree and make sure it applies? > If so, I may need to do same for all my future patches as well, thats a > extra bit of work! > > Most of the time, mine are bug fixes and I always use linux-net when > upstreaming my patches for Intel Ethernet drivers. > You probably should just be cloning the dev-queue branch of Jeff's tree. The issue is I believe he has some virtchnl changes from Jesse and they are conflicting with your change. - Alex
On Fri, 2017-05-19 at 18:12 -0700, tndave wrote: > On 05/16/2017 04:07 PM, Jeff Kirsher wrote: > > On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: > > > i40e hardware descriptor fields are in little-endian format. Driver > > > must use le32_to_cpu while evaluating these fields otherwise on > > > big-endian arch we end up evaluating incorrect values, cause errors > > > like: > > > > > > i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 > > > i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 > > > > > > Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> > > > --- > > > drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- > > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > Due to recent patches already applied to my tree, this patch does not > > apply cleanly. Feel free to send an updated patch, if the change is > > still needed. > > Hi Jeff, > > I just tried the same patch on Dave's latest linux-net and it applies > cleanly. Wondering if I should clone your tree and make sure it applies? > If so, I may need to do same for all my future patches as well, thats a > extra bit of work! > > Most of the time, mine are bug fixes and I always use linux-net when > upstreaming my patches for Intel Ethernet drivers. As Alex has already pointed out, yes, you should be using my dev-queue branch on either next-queue or net-queue trees. As you know, I have a number of patches currently in the queue which won't show up on linux-net until they get pushed to David Miller. If you use my tree for the Intel drivers, you may find we already fix the issue or your fix may need to be re-worked due to changes in the code which are currently in the "queue".
On 05/22/2017 12:36 PM, Jeff Kirsher wrote: > On Fri, 2017-05-19 at 18:12 -0700, tndave wrote: >> On 05/16/2017 04:07 PM, Jeff Kirsher wrote: >>> On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: >>>> i40e hardware descriptor fields are in little-endian format. Driver >>>> must use le32_to_cpu while evaluating these fields otherwise on >>>> big-endian arch we end up evaluating incorrect values, cause errors >>>> like: >>>> >>>> i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 >>>> i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 >>>> >>>> Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> >>>> --- >>>> drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- >>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> Due to recent patches already applied to my tree, this patch does not >>> apply cleanly. Feel free to send an updated patch, if the change is >>> still needed. >> >> Hi Jeff, >> >> I just tried the same patch on Dave's latest linux-net and it applies >> cleanly. Wondering if I should clone your tree and make sure it applies? >> If so, I may need to do same for all my future patches as well, thats a >> extra bit of work! >> >> Most of the time, mine are bug fixes and I always use linux-net when >> upstreaming my patches for Intel Ethernet drivers. > > As Alex has already pointed out, yes, you should be using my dev-queue > branch on either next-queue or net-queue trees. As you know, I have a > number of patches currently in the queue which won't show up on linux-net > until they get pushed to David Miller. > > If you use my tree for the Intel drivers, you may find we already fix the > issue or your fix may need to be re-worked due to changes in the code which > are currently in the "queue". Sure, I will use your tree for Intel drivers going forward :) Thanks. -Tushar >
On 05/21/2017 04:08 PM, Alexander Duyck wrote: > On Fri, May 19, 2017 at 6:12 PM, tndave <tushar.n.dave@oracle.com> wrote: >> >> >> On 05/16/2017 04:07 PM, Jeff Kirsher wrote: >>> >>> On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: >>>> >>>> i40e hardware descriptor fields are in little-endian format. Driver >>>> must use le32_to_cpu while evaluating these fields otherwise on >>>> big-endian arch we end up evaluating incorrect values, cause errors >>>> like: >>>> >>>> i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 >>>> i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 >>>> >>>> Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> >>>> --- >>>> drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- >>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> >>> Due to recent patches already applied to my tree, this patch does not >>> apply cleanly. Feel free to send an updated patch, if the change is >>> still needed. >> >> Hi Jeff, >> >> I just tried the same patch on Dave's latest linux-net and it applies >> cleanly. Wondering if I should clone your tree and make sure it applies? >> If so, I may need to do same for all my future patches as well, thats a >> extra bit of work! >> >> Most of the time, mine are bug fixes and I always use linux-net when >> upstreaming my patches for Intel Ethernet drivers. >> > > You probably should just be cloning the dev-queue branch of Jeff's > tree. The issue is I believe he has some virtchnl changes from Jesse > and they are conflicting with your change.\ Okay. Thanks. -Tushar > > - Alex >
On 05/22/2017 12:36 PM, Jeff Kirsher wrote: > On Fri, 2017-05-19 at 18:12 -0700, tndave wrote: >> On 05/16/2017 04:07 PM, Jeff Kirsher wrote: >>> On Mon, 2017-05-01 at 16:15 -0700, Tushar Dave wrote: >>>> i40e hardware descriptor fields are in little-endian format. Driver >>>> must use le32_to_cpu while evaluating these fields otherwise on >>>> big-endian arch we end up evaluating incorrect values, cause errors >>>> like: >>>> >>>> i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 >>>> i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 >>>> >>>> Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> >>>> --- >>>> drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- >>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> Due to recent patches already applied to my tree, this patch does not >>> apply cleanly. Feel free to send an updated patch, if the change is >>> still needed. >> >> Hi Jeff, >> >> I just tried the same patch on Dave's latest linux-net and it applies >> cleanly. Wondering if I should clone your tree and make sure it applies? >> If so, I may need to do same for all my future patches as well, thats a >> extra bit of work! >> >> Most of the time, mine are bug fixes and I always use linux-net when >> upstreaming my patches for Intel Ethernet drivers. > > As Alex has already pointed out, yes, you should be using my dev-queue > branch on either next-queue or net-queue trees. As you know, I have a > number of patches currently in the queue which won't show up on linux-net > until they get pushed to David Miller. > > If you use my tree for the Intel drivers, you may find we already fix the > issue or your fix may need to be re-worked due to changes in the code which > are currently in the "queue". Jeff, Tried the same patch (using git am) on your net-queue tree branch:dev-queue and the patch applies cleanly. FYI, right now https://kernel.googlesource.com/pub/scm/linux/kernel/git/jkirsher/net-queue.git:dev-queue has top commit: "i40e/i40evf: proper update of the page_offset field" My system has: patch --version GNU patch 2.7.1 Thanks. -Tushar >
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index f35dcaa..2c1dfaf 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c @@ -1923,8 +1923,10 @@ static void i40evf_adminq_task(struct work_struct *work) if (ret || !v_msg->v_opcode) break; /* No event to process or error cleaning ARQ */ - i40evf_virtchnl_completion(adapter, v_msg->v_opcode, - v_msg->v_retval, event.msg_buf, + i40evf_virtchnl_completion(adapter, + le32_to_cpu(v_msg->v_opcode), + le32_to_cpu(v_msg->v_retval), + event.msg_buf, event.msg_len); if (pending != 0) memset(event.msg_buf, 0, I40EVF_MAX_AQ_BUF_SIZE);
i40e hardware descriptor fields are in little-endian format. Driver must use le32_to_cpu while evaluating these fields otherwise on big-endian arch we end up evaluating incorrect values, cause errors like: i40evf 0001:04:02.0: Expected response 0 from PF, received 285212672 i40evf 0001:04:02.1: Expected response 0 from PF, received 285212672 Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> --- drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)