lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <56B15591.7080409@ti.com> Date: Tue, 2 Feb 2016 19:19:13 -0600 From: "Franklin S Cooper Jr." <fcooper@...com> To: Arnd Bergmann <arnd@...db.de> CC: <m-karicheri2@...com>, <netdev@...r.kernel.org>, <w-kwok2@...com>, <davem@...emloft.net> Subject: Re: Keystone 2 boards boot failure On 02/02/2016 05:26 PM, Arnd Bergmann wrote: > On Tuesday 02 February 2016 16:59:34 Franklin Cooper wrote: >> On 02/02/2016 03:26 PM, Arnd Bergmann wrote: >>> On Tuesday 02 February 2016 15:01:33 Franklin S Cooper Jr. wrote: >>>> Yes. Here is a boot log on the latest master with the below >>>> three patches reverted. >>>> http://pastebin.com/W7RWSHpE (Working) >>>> >>>> I reverted these three patches. The two latest patches seem >>>> to be trying to correct/expand upon the last patch on this list. >>>> >>>> commit 958d104e3d40eef5148c402887138f6594ff7e1e >>>> netcp: fix regression in receive processing >>>> >>>> commit 9dd2d6c5c9755b160fe0111bcdad9491676feea8 >>>> netcp: add more __le32 annotations >>>> >>>> commit 899077791403ff7a2d8cfaa87bd1a82d729463e2 >>>> netcp: try to reduce type confusion in descriptors >>>> >>> The middle patch should have no effect on generated code, so I'm ignoring >>> that for now. >>> >>> The next thing to rule out is an endianess bug. I assume you >>> are running this on with a little-endian kernel, correct? If >>> you are running big-endian, the base assumption that the driver needs >>> to swap the data was flawed and that portion needs to be done. >>> >>> If you are running little-endian 32-bit, please try the partial >>> revert below, which just undoes the attempt to make it work with >>> 64-bit kernels. >> Keystone 2 devices are little-endian 32-bit devices. > I meant the kernel you are running on it, not the hardware. > You should always be able to run both a big-endian kernel and > a littl-endian kernel on any ARMv7 machine, and a couple of > platforms use 64-bit physical addresses even on 32-bit machines > (with the normal 32-bit instruction set). I'm not sure if Keystone 2 devices support this or if we have support for this. I'll have to double check. > > I wasn't completely sure if there are already keystone-derived > products with 64-bit CPU cores, but I guess the driver would > fail really badly on those (with or without the patch). > >> This partial revert fixes the boot problem for me. > Ok. > > > I tried to create a smaller version and stumbled over > a typo, maybe that's the whole problem. Can you try this one: > > diff --git a/drivers/net/ethernet/ti/netcp_core.c b/drivers/net/ethernet/ti/netcp_core.c > index c61d66d38634..8490804416dd 100644 > --- a/drivers/net/ethernet/ti/netcp_core.c > +++ b/drivers/net/ethernet/ti/netcp_core.c > @@ -167,7 +167,7 @@ static void set_pad_info(u32 pad0, u32 pad1, u32 pad2, struct knav_dma_desc *des > { > desc->pad[0] = cpu_to_le32(pad0); > desc->pad[1] = cpu_to_le32(pad1); > - desc->pad[2] = cpu_to_le32(pad1); > + desc->pad[2] = cpu_to_le32(pad2); > } > > static void set_org_pkt_info(dma_addr_t buff, u32 buff_len, > > > Arnd So only making this change on the latest master with no other changes I see the boot problem again.
Powered by blists - more mailing lists