Skip to contentSkip to conversation

i40evf: fix 32 bit build warnings

PATCH In review Arnd Bergmann 3 participants 9 messages Oct 7, 2015 – Oct 13, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 i40evf: fix 32 bit build warnings

Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver in commit 9c70d7cebfec5 ("i40e: fix 32 bit build warnings"), but the same code still exists in the i40evf driver and causes compilation warnings in ARM and x86 allmodconfig:

drivers/net/ethernet/intel/i40evf/i40e_common.c:445:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/net/ethernet/intel/i40evf/i40e_common.c:446:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This applies the same fix by removing the broken code.

---

It would probably be a good idea to merge some of the duplicate code into a library module that gets used by both drivers to avoid having to fix bugs twice in the future.

drivers/net/ethernet/intel/i40evf/i40e_common.c +0 -5
index 1950db10a414..92e180d9b86e 100644
@@ -442,9 +442,6 @@ static i40e_status i40e_aq_get_set_rss_lut(struct i40e_hw *hw,
 					I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) &
 					I40E_AQC_SET_RSS_LUT_TABLE_TYPE_MASK));
 
-	cmd_resp->addr_high = cpu_to_le32(high_16_bits((u64)lut));
-	cmd_resp->addr_low = cpu_to_le32(lower_32_bits((u64)lut));
-
 	status = i40evf_asq_send_command(hw, &desc, lut, lut_size, NULL);
 
 	return status;
@@ -519,8 +516,6 @@ static i40e_status i40e_aq_get_set_rss_key(struct i40e_hw *hw,
 					  I40E_AQC_SET_RSS_KEY_VSI_ID_SHIFT) &
 					  I40E_AQC_SET_RSS_KEY_VSI_ID_MASK));
 	cmd_resp->vsi_id |= cpu_to_le16((u16)I40E_AQC_SET_RSS_KEY_VSI_VALID);
-	cmd_resp->addr_high = cpu_to_le32(high_16_bits((u64)key));
-	cmd_resp->addr_low = cpu_to_le32(lower_32_bits((u64)key));
 
 	status = i40evf_asq_send_command(hw, &desc, key, key_size, NULL);
 
Acked-by on v1 1/1
#1 lore raw
Quoted 11 lines · On Wed, 7 Oct 2015 22:13:19 +0200 Arnd Bergmann <[email protected]> wrote:

Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver in commit 9c70d7cebfec5 ("i40e: fix 32 bit build warnings"), but the same code still exists in the i40evf driver and causes compilation warnings in ARM and x86 allmodconfig:

drivers/net/ethernet/intel/i40evf/i40e_common.c:445:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/net/ethernet/intel/i40evf/i40e_common.c:446:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This applies the same fix by removing the broken code.

Thanks for catching that, my mistake.

Quoted 3 lines

It would probably be a good idea to merge some of the duplicate code into a library module that gets used by both drivers to avoid having to fix bugs twice in the future.

The library is a nice idea, but while much of the code is the same, many things about interaction with it while running in the VF context are different than when called in the PF context.

We will look closely at what we can commonize and at least move to header files.

Thanks!

#2 lore raw
In reply to Arnd Bergmann
Quoted 5 lines · Arnd Bergmann

Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver in commit 9c70d7cebfec5 ("i40e: fix 32 bit build warnings"), but the same code still exists in the i40evf driver and causes compilation warnings in ARM and x86 allmodconfig:

Quoted 8 lines

drivers/net/ethernet/intel/i40evf/i40e_common.c:445:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/net/ethernet/intel/i40evf/i40e_common.c:446:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This applies the same fix by removing the broken code.

Does not apply at all to my next-queue tree (dev-queue branch), my
guess is that this is already fixed in one of the patches already in my
queue.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20151012/7a2244b7/attachment.asc>

#3 lore raw
Quoted 11 lines · On Monday 12 October 2015 23:18:21 you wrote:
Quoted 10 lines · Arnd Bergmann

Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver in commit 9c70d7cebfec5 ("i40e: fix 32 bit build warnings"), but the same code still exists in the i40evf driver and causes compilation warnings in ARM and x86 allmodconfig:

drivers/net/ethernet/intel/i40evf/i40e_common.c:445:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/net/ethernet/intel/i40evf/i40e_common.c:446:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

Quoted 8 lines
Quoted 3 lines

This applies the same fix by removing the broken code.

Does not apply at all to my next-queue tree (dev-queue branch), my guess is that this is already fixed in one of the patches already in my queue.

I still get these warnings on your branch:

/git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c: In function 'i40e_aq_get_set_rss_lut':
/git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:446:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:446:128: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:446:207: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:446:285: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:446:363: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:446:444: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:447:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:447:115: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:447:178: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:447:240: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:447:302: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:447:367: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c: In function 'i40e_aq_get_set_rss_key':
/git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:523:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:523:128: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:523:207: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:523:285: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:523:363: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:523:444: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:524:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:524:115: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:524:178: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:524:240: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:524:302: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /git/arm-soc/drivers/net/ethernet/intel/i40evf/i40e_common.c:524:367: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This is the majority of all build warnings we get on allmodconfig (both i386 and arm), so it would be really nice to have it fixed before 4.3. For all I can tell, the patch still applies on your branch too, but see below for the rebased version.

I also note that your branch is not part of linux-next, is that intentional?

Arnd

8<-------
From e6245d40a1ad7faa9064c23aa3d737d67d628683 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <[email protected]>
Date: Wed, 7 Oct 2015 21:56:09 +0200
Subject: [PATCH] i40evf: fix 32 bit build warnings

Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver in commit 9c70d7cebfec5 ("i40e: fix 32 bit build warnings"), but the same code still exists in the i40evf driver and causes compilation warnings in ARM and x86 allmodconfig:

drivers/net/ethernet/intel/i40evf/i40e_common.c:445:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/net/ethernet/intel/i40evf/i40e_common.c:446:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This applies the same fix by removing the broken code.

Cc kbuild-all at 01.org
Cc Jesse Brandeburg <[email protected]>
Cc Andrew Bowers <[email protected]>
Cc Jeff Kirsher <[email protected]>
drivers/net/ethernet/intel/i40evf/i40e_common.c +0 -5
index b98b642b897a..a98a31f1e246 100644
@@ -443,9 +443,6 @@ static i40e_status i40e_aq_get_set_rss_lut(struct i40e_hw *hw,
 					I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) &
 					I40E_AQC_SET_RSS_LUT_TABLE_TYPE_MASK));
 
-	cmd_resp->addr_high = cpu_to_le32(high_16_bits((u64)lut));
-	cmd_resp->addr_low = cpu_to_le32(lower_32_bits((u64)lut));
-
 	status = i40evf_asq_send_command(hw, &desc, lut, lut_size, NULL);
 
 	return status;
@@ -520,8 +517,6 @@ static i40e_status i40e_aq_get_set_rss_key(struct i40e_hw *hw,
 					  I40E_AQC_SET_RSS_KEY_VSI_ID_SHIFT) &
 					  I40E_AQC_SET_RSS_KEY_VSI_ID_MASK));
 	cmd_resp->vsi_id |= cpu_to_le16((u16)I40E_AQC_SET_RSS_KEY_VSI_VALID);
-	cmd_resp->addr_high = cpu_to_le32(high_16_bits((u64)key));
-	cmd_resp->addr_low = cpu_to_le32(lower_32_bits((u64)key));
 
 	status = i40evf_asq_send_command(hw, &desc, key, key_size, NULL);
 
#4 lore raw
Quoted 9 lines · Arnd Bergmann

This is the majority of all build warnings we get on allmodconfig (both i386 and arm),
so it would be really nice to have it fixed before 4.3. For all I can tell, the
patch still applies on your branch too, but see below for the rebased version.

I also note that your branch is not part of linux-next, is that intentional?

No, I assume it is because the linux-next maintainer has not picked up
my tree.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20151013/c0a35e72/attachment.asc>

#5 lore raw
In reply to Arnd Bergmann
Quoted 11 lines · Arnd Bergmann

This is the majority of all build warnings we get on allmodconfig (both i386 and arm),
so it would be really nice to have it fixed before 4.3. For all I can tell, the
patch still applies on your branch too, but see below for the rebased version.

I also note that your branch is not part of linux-next, is that intentional?

Arnd

Huh are you sure you used by dev-queue branch? I ask because this is what I am getting when I try to apply your patch:

git am .apply/i40evf-fix-32-bit-build-warnings.patch
Applying: Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver
error: patch failed:
drivers/net/ethernet/intel/i40evf/i40e_common.c:443
error: drivers/net/ethernet/intel/i40evf/i40e_common.c: patch does not apply
Patch failed at 0001 Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver
The copy of the patch that failed is found in:
/home/jtkirshe/Public/next-queue/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". [12:02:27 @jtkirshe-linux:next-queue]$ patch -p1 <.apply/i40evf-fix-32 -bit-build-warnings.patch
patching file drivers/net/ethernet/intel/i40evf/i40e_common.c Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/net/ethernet/intel/i40evf/i40e_common.c.rej [12:02:52 @jtkirshe-linux:next-queue]$

Even looking@the code, the code your changing does not exist in my
dev-queue branch of my next-queue tree.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20151013/61881730/attachment.asc>

#6 lore raw
Quoted 40 lines · On Tue, 13 Oct 2015 12:05:32 -0700 Jeff Kirsher <[email protected]>…
Quoted 11 lines · Arnd Bergmann

This is the majority of all build warnings we get on allmodconfig (both i386 and arm),
so it would be really nice to have it fixed before 4.3. For all I can tell, the
patch still applies on your branch too, but see below for the rebased version.

I also note that your branch is not part of linux-next, is that intentional?

Arnd

Huh are you sure you used by dev-queue branch? I ask because this is what I am getting when I try to apply your patch:

git am .apply/i40evf-fix-32-bit-build-warnings.patch
Applying: Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver
error: patch failed:
drivers/net/ethernet/intel/i40evf/i40e_common.c:443
error: drivers/net/ethernet/intel/i40evf/i40e_common.c: patch does not apply
Patch failed at 0001 Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver
The copy of the patch that failed is found in:
/home/jtkirshe/Public/next-queue/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". [12:02:27 @jtkirshe-linux:next-queue]$ patch -p1 <.apply/i40evf-fix-32 -bit-build-warnings.patch
patching file drivers/net/ethernet/intel/i40evf/i40e_common.c Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/net/ethernet/intel/i40evf/i40e_common.c.rej [12:02:52 @jtkirshe-linux:next-queue]$

Quoted 2 lines

Even looking at the code, the code your changing does not exist in my dev-queue branch of my next-queue tree.

it was already fixed via

commit 7890f6979a8eab436487396d6e2e0def8633fa16

Author: Jesse Brandeburg <[email protected]>
Date:   Tue Oct 13 11:15:46 2015 -0700

i40evf: fix overlong BIT defines

#7 lore raw
In reply to Arnd Bergmann
Quoted 14 lines · On Tue, 13 Oct 2015 13:37:04 +0200 Arnd Bergmann <[email protected]> wrote:
Quoted 13 lines · On Monday 12 October 2015 23:18:21 you wrote:
Quoted 12 lines · Arnd Bergmann

Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver in commit 9c70d7cebfec5 ("i40e: fix 32 bit build warnings"), but the same code still exists in the i40evf driver and causes compilation warnings in ARM and x86 allmodconfig:

drivers/net/ethernet/intel/i40evf/i40e_common.c:445:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/net/ethernet/intel/i40evf/i40e_common.c:446:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This applies the same fix by removing the broken code.

Quoted 8 lines
Quoted 6 lines
Quoted 1 line

Does not apply at all to my next-queue tree (dev-queue branch), my guess is that this is already fixed in one of the patches already in my queue.

I still get these warnings on your branch:

Make sure you're pulling from the dev-queue branch, not the master branch of Jeff's next-queue repo.

I've made that mistake many times, and I do see that the code in question is not present in:
https://git.kernel.org/cgit/linux/kernel/git/jkirsher/next-queue.git/tree/drivers/net/ethernet/intel/i40evf/i40e_common.c?h=dev-queue

#8 lore raw
Quoted 24 lines · On Tuesday 13 October 2015 12:25:10 Jesse Brandeburg wrote:
Quoted 21 lines · On Tue, 13 Oct 2015 13:37:04 +0200 Arnd Bergmann <[email protected]> wrote:
Quoted 19 lines · On Monday 12 October 2015 23:18:21 you wrote:
Quoted 5 lines · Arnd Bergmann

Jesse Brandeburg fixed a bug for 32-bit systems in the i40e driver in commit 9c70d7cebfec5 ("i40e: fix 32 bit build warnings"), but the same code still exists in the i40evf driver and causes compilation warnings in ARM and x86 allmodconfig:

Quoted 8 lines

drivers/net/ethernet/intel/i40evf/i40e_common.c:445:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/net/ethernet/intel/i40evf/i40e_common.c:446:71: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This applies the same fix by removing the broken code.

Does not apply at all to my next-queue tree (dev-queue branch), my guess is that this is already fixed in one of the patches already in my queue.

Quoted 4 lines
Quoted 1 line

I still get these warnings on your branch:

Make sure you're pulling from the dev-queue branch, not the master branch of Jeff's next-queue repo.

Indeed, I was only looking at the branch that last got pulled into net-next, assuming that was the one that was where the fixes for 4.3 are in. Sorry about that.

Quoted 3 lines

I've made that mistake many times, and I do see that the code in question is not present in:
https://git.kernel.org/cgit/linux/kernel/git/jkirsher/next-queue.git/tree/drivers/net/ethernet/intel/i40evf/i40e_common.c?h=dev-queue

Ok, I see your commit 7890f6979a8 ("i40evf: fix overlong BIT defines") there now. Any chance to get that into mainline? The branch appears to have a mix of new features and bug fixes, so it looks like it's at least not destined for 4.3.

Arnd