Messages in this thread |  | | Date | Tue, 7 Jan 2020 09:35:48 +0100 | From | Krzysztof Kozlowski <> | Subject | Re: [PATCH 1/2] net: ethernet: 3c515: Fix cast from pointer to integer of different size |
| |
On Mon, Jan 06, 2020 at 01:31:55PM -0800, David Miller wrote: > From: Krzysztof Kozlowski <krzk@kernel.org> > Date: Sat, 4 Jan 2020 15:33:05 +0100 > > > Pointer passed as integer should be cast to unsigned long to > > avoid warning (compile testing on alpha architecture): > > > > drivers/net/ethernet/3com/3c515.c: In function ‘corkscrew_start_xmit’: > > drivers/net/ethernet/3com/3c515.c:1066:8: warning: > > cast from pointer to integer of different size [-Wpointer-to-int-cast] > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > > > --- > > > > Only compile tested > > Sorry, I'm not applying these two. > > It is clear that these drivers only work properly on 32-bit architectures > where virtual address equals the DMA address. > > Making this warning goes away creates a false sense that they are in > fact 64-bit clean and capable, they are not.
The existing casts are clearly wrong - the convention is that pointer should be cast to unsigned long, not int. In the second case it is even weirder - the buffer array is actually unsigned long so the cast is confusing.
However I understand your argument that these casts serve as a documentation purpose of only 32-bit support, so let it be.
Thanks!
Best regards, Krzysztof
|  |