[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190518215802.GI63920@meh.true.cz>
Date: Sat, 18 May 2019 23:58:02 +0200
From: Petr Štetiar <ynezz@...e.cz>
To: Octavio Alvarez <octallk1@...arezp.org>
Cc: Mirko Lindner <mlindner@...vell.com>,
Stephen Hemminger <stephen@...workplumber.org>,
netdev@...r.kernel.org
Subject: Re: PROBLEM: [1/2] Marvell 88E8040 (sky2) stopped working
Hi Octavio,
> PROBLEM: [1/2] Marvell 88E8040 (sky2) stopped working
I'm sorry, that I've ruined your day.
> Linux version 5.1.0-12511-g72cf0b07418a (alvarezp@...arezp-samsung)
What do I need to do/apply in order to get the same source tree with
72cf0b07418a hash? I'm not able to find that commit.
> [ 1.447809] BUG: kernel NULL pointer dereference, address:
> 0000000000000000
Interesting.
> [ 1.448476] RIP: 0010:sky2_init_netdev+0x221/0x2e0 [sky2]
gdb drivers/net/ethernet/marvell/sky2.o
>>> l *sky2_init_netdev+0x221
0x828a is in sky2_init_netdev (./include/linux/etherdevice.h:124).
119 * By definition the broadcast address is also a multicast address.
120 */
121 static inline bool is_multicast_ether_addr(const u8 *addr)
122 {
123 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
124 u32 a = *(const u32 *)addr;
125 #else
126 u16 a = *(const u16 *)addr;
127 #endif
128 #ifdef __BIG_ENDIAN
> --- a/drivers/net/ethernet/marvell/sky2.c
> +++ b/drivers/net/ethernet/marvell/sky2.c
> @@ -4808,7 +4808,7 @@ static struct net_device *sky2_init_netdev(struct
> sky2_hw *hw, unsigned port,
> * 2) from internal registers set by bootloader
> */
> iap = of_get_mac_address(hw->pdev->dev.of_node);
> - if (iap)
> + if (!IS_ERR(iap))
I'm just shooting out of the blue, as I don't have currently any rational
explanation for that now, but could you please change the line above to
following:
if (!IS_ERR_OR_NULL(iap))
try again and report back? Thanks!
-- ynezz
Powered by blists - more mailing lists