There's no reason to use bit shift to find the UDP header.
It's not intuitive and it reinvents well-defined functions.

Signed-off-by: Moon Yeounsu <[email protected]>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c 
b/drivers/net/ethernet/intel/e1000e/netdev.c
index 360ee26557f7..07c4cf84bdf3 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -5731,7 +5731,7 @@ static int e1000_transfer_dhcp_info(struct e1000_adapter 
*adapter,
                if (ip->protocol != IPPROTO_UDP)
                        return 0;
 
-               udp = (struct udphdr *)((u8 *)ip + (ip->ihl << 2));
+               udp = (struct udphdr *)((u8 *)ip + ip_hdrlen(skb));
                if (ntohs(udp->dest) != 67)
                        return 0;
 
-- 
2.45.2

Reply via email to