diff mbox

davinci boot failures in next-20140519

Message ID 20140520115948.GM23991@suse.de (mailing list archive)
State New, archived
Headers show

Commit Message

Mel Gorman May 20, 2014, 11:59 a.m. UTC
On Tue, May 20, 2014 at 02:46:47PM +0530, Prabhakar Lad wrote:
> Hi Sekhar,
> 
> On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori <nsekhar@ti.com> wrote:
> > On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote:
> >> Hi,
> >>
> >> On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman <khilman@linaro.org> wrote:
> >>> As found by my automated boot tester[1], dm365 EVM and da850 EVM started
> >>> failing boot tests in today's linux-next.
> >>>
> >>> I haven't had the time to bisect, but it appears to be related to some
> >>> devres failures in the EMAC driver.  Full boot log below for the
> >>> da850evm (the dm365 fault looks the same.)
> >>>
> >> I too hit this issue, this was introduced with commit id:
> >> e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net:
> >> davinci_cpdma: Convert kzalloc() to devm_kzalloc().)
> >> Reverting this patch fixes it.
> >> From the outset patch looks good, not sure why exactly it is failing.
> >
> > Following patch seems to help. I will post it for review after some more
> > analysis.
> >
> I am not sure if you hit the following issue later fixing above one,
> I see following issue on DA850 evm,
> 
> git bisect points me to
> commit id: 975c3a671f11279441006a29a19f55ccc15fb320
> ( mm: non-atomically mark page accessed during page cache allocation
> where possible)
> 
> Unable to handle kernel paging request at virtual address 30e03501
> pgd = c68cc000
> [30e03501] *pgd=00000000
> Internal error: Oops: 1 [#1] PREEMPT ARM
> Modules linked in:
> CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9
> task: c70c4e00 ti: c73d0000 task.ti: c73d0000
> PC is at init_page_accessed+0xc/0x24
> LR is at shmem_write_begin+0x54/0x60
> pc : [<c0088aa0>]    lr : [<c00923e8>]    psr: 20000013

What line does this address correspond to according to addr2line? It's not
a NULL pointer exception obviously because the data address does not match
up and there is a check for NULL before calling init_page_accessed. The
obvious guess would be that this is due to an uninitialised page pointer
on the stack and shmem_getpage_gfp() returning before it gets initialised.

Could you try this please?

Comments

Sekhar Nori May 20, 2014, 2:55 p.m. UTC | #1
On Tuesday 20 May 2014 05:29 PM, Mel Gorman wrote:
> On Tue, May 20, 2014 at 02:46:47PM +0530, Prabhakar Lad wrote:
>> Hi Sekhar,
>>
>> On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>>> On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote:
>>>> Hi,
>>>>
>>>> On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman <khilman@linaro.org> wrote:
>>>>> As found by my automated boot tester[1], dm365 EVM and da850 EVM started
>>>>> failing boot tests in today's linux-next.
>>>>>
>>>>> I haven't had the time to bisect, but it appears to be related to some
>>>>> devres failures in the EMAC driver.  Full boot log below for the
>>>>> da850evm (the dm365 fault looks the same.)
>>>>>
>>>> I too hit this issue, this was introduced with commit id:
>>>> e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net:
>>>> davinci_cpdma: Convert kzalloc() to devm_kzalloc().)
>>>> Reverting this patch fixes it.
>>>> From the outset patch looks good, not sure why exactly it is failing.
>>>
>>> Following patch seems to help. I will post it for review after some more
>>> analysis.
>>>
>> I am not sure if you hit the following issue later fixing above one,
>> I see following issue on DA850 evm,
>>
>> git bisect points me to
>> commit id: 975c3a671f11279441006a29a19f55ccc15fb320
>> ( mm: non-atomically mark page accessed during page cache allocation
>> where possible)
>>
>> Unable to handle kernel paging request at virtual address 30e03501
>> pgd = c68cc000
>> [30e03501] *pgd=00000000
>> Internal error: Oops: 1 [#1] PREEMPT ARM
>> Modules linked in:
>> CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9
>> task: c70c4e00 ti: c73d0000 task.ti: c73d0000
>> PC is at init_page_accessed+0xc/0x24
>> LR is at shmem_write_begin+0x54/0x60
>> pc : [<c0088aa0>]    lr : [<c00923e8>]    psr: 20000013
> 
> What line does this address correspond to according to addr2line? It's not

addr2line shows mm/swap.c:622

objdump shows that page pointer is corrupt in init_page_accessed()

c00805ec <init_page_accessed>:
/*
 * Used to mark_page_accessed(page) that is not visible yet and when it is
 * still safe to use non-atomic ops
 */
void init_page_accessed(struct page *page)
{
c00805ec:	e1a0c00d 	mov	ip, sp
c00805f0:	e92dd800 	push	{fp, ip, lr, pc}
c00805f4:	e24cb004 	sub	fp, ip, #4
c00805f8:	e5903000 	ldr	r3, [r0]
	if (!PageReferenced(page))
c00805fc:	e3130004 	tst	r3, #4

When crash occurs, instruction at address c00805f8 crashes with r0 corrupt.
Attached[1] is the corresponding oops message.

> Could you try this please?
> 
> diff --git a/mm/filemap.c b/mm/filemap.c
> index 2a7b9d1..0691481 100644
> --- a/mm/filemap.c
> +++ b/mm/filemap.c
> @@ -2459,7 +2459,7 @@ ssize_t generic_perform_write(struct file *file,
>  		flags |= AOP_FLAG_UNINTERRUPTIBLE;
>  
>  	do {
> -		struct page *page;
> +		struct page *page = NULL;
>  		unsigned long offset;	/* Offset into pagecache page */
>  		unsigned long bytes;	/* Bytes to write to page */
>  		size_t copied;		/* Bytes copied from user */

This definitely avoided the oops, but I am still not able to get nfsroot working 
(it starts to mount the filesystem and eventually timesout). It could be a different
problem. Need to get to a known working setup and then bisect.

Thanks,
Sekhar

[1] oops log that I observed.

Unable to handle kernel NULL pointer dereference at virtual address 0000000b
pgd = c7030000
[0000000b] *pgd=c7a9e831, *pte=00000000, *ppte=00000000
Internal error: Oops: 1 [#1] PREEMPT ARM
Modules linked in:
CPU: 0 PID: 976 Comm: udevd Not tainted 3.15.0-rc5-next-20140519-07053-g0855e8f 
#384
task: c7a7d500 ti: c7ad6000 task.ti: c7ad6000
PC is at init_page_accessed+0xc/0x24
LR is at shmem_write_begin+0x58/0x64
pc : [<c00805f8>]    lr : [<c0089d5c>]    psr: 20000013
sp : c7ad7da8  ip : c7ad7db8  fp : c7ad7db4
r10: c0312600  r9 : c7ad7ee8  r8 : 00000000
r7 : 00001000  r6 : c7ba365c  r5 : ffffffe4  r4 : c7ad7e00
r3 : 00000000  r2 : 00000001  r1 : c7ad7d60  r0 : 0000000b
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: c7030000  DAC: 00000015
Process udevd (pid: 976, stack limit = 0xc7ad61c0)
Stack: (0xc7ad7da8 to 0xc7ad8000)
7da0:                   c7ad7dd4 c7ad7db8 c0089d5c c00805fc 000200da 00000000
7dc0: 00000005 c7ad7ed4 c7ad7e34 c7ad7dd8 c00751f0 c0089d14 00000005 00000000
7de0: c7ad7e00 c7ad7e04 c7ad6000 00000000 c715e500 00000000 00000000 00000000
7e00: 0000000b 13ab6681 0000000b 00000000 00000000 00000005 c715e500 c7ad6038
7e20: c7ad7ee8 c7ba365c c7ad7e8c c7ad7e38 c0077274 c007509c c0026850 c002648c
7e40: c7a7d7b4 c7ad7e90 c7ad7e74 00000000 c7ba35fc c7ad7ed4 c7ad7ed4 c7a7d500
7e60: beeffc58 c7ad7ee8 c7ba35fc c7ad7ed4 c715e500 c7a7d500 beeffc58 00000000
7e80: c7ad7ebc c7ad7e90 c0077568 c0077110 c7ad7ebc c7ad7ea0 c000c064 c000b118
7ea0: 00000000 00000000 c7ad7f78 c715e500 c7ad7f44 c7ad7ec0 c00aedb8 c007753c
7ec0: 00000005 c00af6b0 c7ad7f74 beeffc58 00000005 00000001 00000000 00000005
7ee0: c7ad7ecc 00000001 c715e500 00000000 00000000 00000000 c7a7d500 00000000
7f00: 00000000 00000000 00000000 00000000 00000005 00000000 00000000 00000000
7f20: c715e500 c715e500 beeffc58 c7ad7f78 00000005 00000005 c7ad7f74 c7ad7f48
7f40: c00af5cc c00aed2c c7ad7f64 c7ad7f58 00000000 00000000 c715e500 c715e500
7f60: 00000005 beeffc58 c7ad7fa4 c7ad7f78 c00afc28 c00af530 00000000 00000000
7f80: 00000006 00026008 000003f2 00000004 c0009864 c7ad6000 00000000 c7ad7fa8
7fa0: c0009700 c00afbf4 00000006 00026008 00000006 beeffc58 00000005 ffffffff
7fc0: 00000006 00026008 000003f2 00000004 0002bbe8 00025ac0 00026008 00025aa8
7fe0: 00000000 beefe630 00019d5c b6eedabc 40000010 00000006 c7ffd831 c7ffdc31
Backtrace: 
[<c00805ec>] (init_page_accessed) from [<c0089d5c>] (shmem_write_begin+0x58/0x64
)
[<c0089d04>] (shmem_write_begin) from [<c00751f0>] (generic_perform_write+0x164/
0x1cc)
 r5:c7ad7ed4 r4:00000005
[<c007508c>] (generic_perform_write) from [<c0077274>] (__generic_file_write_ite
r+0x174/0x42c)
 r10:c7ba365c r9:c7ad7ee8 r8:c7ad6038 r7:c715e500 r6:00000005 r5:00000000
 r4:00000000
[<c0077100>] (__generic_file_write_iter) from [<c0077568>] (generic_file_write_i
ter+0x3c/0xd0)
 r10:00000000 r9:beeffc58 r8:c7a7d500 r7:c715e500 r6:c7ad7ed4 r5:c7ba35fc
 r4:c7ad7ee8
[<c007752c>] (generic_file_write_iter) from [<c00aedb8>] (new_sync_write+0x9c/0x
c4)
 r7:c715e500 r6:c7ad7f78 r5:00000000 r4:00000000
[<c00aed1c>] (new_sync_write) from [<c00af5cc>] (vfs_write+0xac/0x1b8)
 r8:00000005 r7:00000005 r6:c7ad7f78 r5:beeffc58 r4:c715e500
[<c00af520>] (vfs_write) from [<c00afc28>] (SyS_write+0x44/0x98)
 r9:beeffc58 r8:00000005 r7:c715e500 r6:c715e500 r5:00000000 r4:00000000
[<c00afbe4>] (SyS_write) from [<c0009700>] (ret_fast_syscall+0x0/0x2c)
 r9:c7ad6000 r8:c0009864 r7:00000004 r6:000003f2 r5:00026008 r4:00000006
Code: eaffffe0 e1a0c00d e92dd800 e24cb004 (e5903000) 
---[ end trace a4fbd6df2920bda3 ]---
Prabhakar May 20, 2014, 5:02 p.m. UTC | #2
Hi,

On Tue, May 20, 2014 at 5:29 PM, Mel Gorman <mgorman@suse.de> wrote:
> On Tue, May 20, 2014 at 02:46:47PM +0530, Prabhakar Lad wrote:
>> Hi Sekhar,
>>
>> On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>> > On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote:
>> >> Hi,
>> >>
>> >> On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman <khilman@linaro.org> wrote:
>> >>> As found by my automated boot tester[1], dm365 EVM and da850 EVM started
>> >>> failing boot tests in today's linux-next.
>> >>>
>> >>> I haven't had the time to bisect, but it appears to be related to some
>> >>> devres failures in the EMAC driver.  Full boot log below for the
>> >>> da850evm (the dm365 fault looks the same.)
>> >>>
>> >> I too hit this issue, this was introduced with commit id:
>> >> e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net:
>> >> davinci_cpdma: Convert kzalloc() to devm_kzalloc().)
>> >> Reverting this patch fixes it.
>> >> From the outset patch looks good, not sure why exactly it is failing.
>> >
>> > Following patch seems to help. I will post it for review after some more
>> > analysis.
>> >
>> I am not sure if you hit the following issue later fixing above one,
>> I see following issue on DA850 evm,
>>
>> git bisect points me to
>> commit id: 975c3a671f11279441006a29a19f55ccc15fb320
>> ( mm: non-atomically mark page accessed during page cache allocation
>> where possible)
>>
>> Unable to handle kernel paging request at virtual address 30e03501
>> pgd = c68cc000
>> [30e03501] *pgd=00000000
>> Internal error: Oops: 1 [#1] PREEMPT ARM
>> Modules linked in:
>> CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9
>> task: c70c4e00 ti: c73d0000 task.ti: c73d0000
>> PC is at init_page_accessed+0xc/0x24
>> LR is at shmem_write_begin+0x54/0x60
>> pc : [<c0088aa0>]    lr : [<c00923e8>]    psr: 20000013
>
> What line does this address correspond to according to addr2line? It's not
> a NULL pointer exception obviously because the data address does not match
> up and there is a check for NULL before calling init_page_accessed. The
> obvious guess would be that this is due to an uninitialised page pointer
> on the stack and shmem_getpage_gfp() returning before it gets initialised.
>
> Could you try this please?
>
> diff --git a/mm/filemap.c b/mm/filemap.c
> index 2a7b9d1..0691481 100644
> --- a/mm/filemap.c
> +++ b/mm/filemap.c
> @@ -2459,7 +2459,7 @@ ssize_t generic_perform_write(struct file *file,
>                 flags |= AOP_FLAG_UNINTERRUPTIBLE;
>
>         do {
> -               struct page *page;
> +               struct page *page = NULL;
>                 unsigned long offset;   /* Offset into pagecache page */
>                 unsigned long bytes;    /* Bytes to write to page */
>                 size_t copied;          /* Bytes copied from user */

This patch fixes the issue now I am able to boot it back again via NFS,
you can add:

Reported-and-Tested-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>

Sekhar,

I am not sure why this didnt work on your side you can find the boot log at [1],
I tested this on latest next.

Regards,
--Prabhakar Lad

[1] Boot Log

U-Boot SPL 2013.01-00010-g25dc42f (Jan 22 2013 - 12:26:23)
SF: Detected M25P64 with page size 64 KiB, total 8 MiB


U-Boot 2013.01-00010-g25dc42f (Jan 22 2013 - 12:26:23)

I2C:   ready
DRAM:  128 MiB
WARNING: Caches not enabled
MMC:   davinci: 0
SF: Detected M25P64 with page size 64 KiB, total 8 MiB
In:    serial
Out:   serial
Err:   serial
SF: Detected M25P64 with page size 64 KiB, total 8 MiB
Default using MAC address from environment
Default using MAC address from environment
Net:   DaVinci-EMAC
Hit any key to stop autoboot:  0
U-Boot >
U-Boot >
U-Boot >
U-Boot > tftp uImage;bootm
Using DaVinci-EMAC device
TFTP from server 169.254.243.186; our IP address is 169.254.243.185
Filename 'uImage'.
Load address: 0xc0700000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################
         1.3 MiB/s
done
Bytes transferred = 2472672 (25bae0 hex)
## Booting kernel from Legacy Image at c0700000 ...
   Image Name:   Linux-3.15.0-rc5-next-20140520-0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2472608 Bytes = 2.4 MiB
   Load Address: c0008000
   Entry Point:  c0008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.15.0-rc5-next-20140520-00001-g68d7f74-dirty
(prabhakar@tango-charlie) (gcc version 4.4.1 (Sourcery G++ Lite
2009q3-67) ) #2 PREEM4
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DA850/OMAP-L138/AM18x EVM
Memory policy: Data cache writethrough
DaVinci da850/omap-l138 variant 0x0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 30480
Kernel command line: mem=120M console=ttyS2,115200n8 root=/dev/nfs rw
nfsroot=169.254.243.186:/home/prabhakar/work/ti/nfs/da850
ip=169.254.243.185
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 116948K/122880K available (3323K kernel code, 191K rwdata,
948K rodata, 151K init, 174K bss, 5932K reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
    vmalloc : 0xc8000000 - 0xff000000   ( 880 MB)
    lowmem  : 0xc0000000 - 0xc7800000   ( 120 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc0434014   (4273 kB)
      .init : 0xc0435000 - 0xc045adc4   ( 152 kB)
      .data : 0xc045c000 - 0xc048bec0   ( 192 kB)
       .bss : 0xc048becc - 0xc04b7998   ( 175 kB)
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:245
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
Console: colour dummy device 80x30
Calibrating delay loop... 148.88 BogoMIPS (lpj=744448)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc0345168 - 0xc03451c0
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
MUX: initialized GPIO4_0
MUX: Setting register GPIO4_0
           PINMUX10 (0x00000028) = 0x00222222 -> 0x80222222
MUX: initialized GPIO4_1
MUX: Setting register GPIO4_1
           PINMUX10 (0x00000028) = 0x80222222 -> 0x88222222
MUX: initialized AHCLKX
MUX: Setting register AHCLKX
           PINMUX0 (0x00000000) = 0x44080000 -> 0x44180000
MUX: initialized ACLKX
MUX: Setting register ACLKX
           PINMUX0 (0x00000000) = 0x44180000 -> 0x44180010
MUX: initialized AFSX
MUX: Setting register AFSX
           PINMUX0 (0x00000000) = 0x44180010 -> 0x44181010
MUX: initialized AHCLKR
MUX: Setting register AHCLKR
           PINMUX0 (0x00000000) = 0x44181010 -> 0x44111010
MUX: initialized ACLKR
MUX: Setting register ACLKR
           PINMUX0 (0x00000000) = 0x44111010 -> 0x44111011
MUX: initialized AFSR
MUX: Setting register AFSR
           PINMUX0 (0x00000000) = 0x44111011 -> 0x44111111
MUX: initialized AMUTE
MUX: Setting register AMUTE
           PINMUX0 (0x00000000) = 0x44111111 -> 0x41111111
MUX: initialized AXR_11
MUX: Setting register AXR_11
           PINMUX1 (0x00000004) = 0x00000000 -> 0x00010000
MUX: initialized AXR_12
MUX: Setting register AXR_12
           PINMUX1 (0x00000004) = 0x00010000 -> 0x00011000
MUX: initialized LCD_D_0
MUX: Setting register LCD_D_0
           PINMUX17 (0x00000044) = 0x00000000 -> 0x00000020
MUX: initialized LCD_D_1
MUX: Setting register LCD_D_1
           PINMUX17 (0x00000044) = 0x00000020 -> 0x00000022
MUX: initialized LCD_D_2
MUX: Setting register LCD_D_2
           PINMUX16 (0x00000040) = 0x00000000 -> 0x20000000
MUX: initialized LCD_D_3
MUX: Setting register LCD_D_3
           PINMUX16 (0x00000040) = 0x20000000 -> 0x22000000
MUX: initialized LCD_D_4
MUX: Setting register LCD_D_4
           PINMUX16 (0x00000040) = 0x22000000 -> 0x22200000
MUX: initialized LCD_D_5
MUX: Setting register LCD_D_5
           PINMUX16 (0x00000040) = 0x22200000 -> 0x22220000
MUX: initialized LCD_D_6
MUX: Setting register LCD_D_6
           PINMUX16 (0x00000040) = 0x22220000 -> 0x22222000
MUX: initialized LCD_D_7
MUX: Setting register LCD_D_7
           PINMUX16 (0x00000040) = 0x22222000 -> 0x22222200
MUX: initialized LCD_D_8
MUX: Setting register LCD_D_8
           PINMUX18 (0x00000048) = 0x00000000 -> 0x00000020
MUX: initialized LCD_D_9
MUX: Setting register LCD_D_9
           PINMUX18 (0x00000048) = 0x00000020 -> 0x00000022
MUX: initialized LCD_D_10
MUX: Setting register LCD_D_10
           PINMUX17 (0x00000044) = 0x00000022 -> 0x20000022
MUX: initialized LCD_D_11
MUX: Setting register LCD_D_11
           PINMUX17 (0x00000044) = 0x20000022 -> 0x22000022
MUX: initialized LCD_D_12
MUX: Setting register LCD_D_12
           PINMUX17 (0x00000044) = 0x22000022 -> 0x22200022
MUX: initialized LCD_D_13
MUX: Setting register LCD_D_13
           PINMUX17 (0x00000044) = 0x22200022 -> 0x22220022
MUX: initialized LCD_D_14
MUX: Setting register LCD_D_14
           PINMUX17 (0x00000044) = 0x22220022 -> 0x22222022
MUX: initialized LCD_D_15
MUX: Setting register LCD_D_15
           PINMUX17 (0x00000044) = 0x22222022 -> 0x22222222
MUX: initialized LCD_PCLK
MUX: Setting register LCD_PCLK
           PINMUX18 (0x00000048) = 0x00000022 -> 0x02000022
MUX: initialized LCD_HSYNC
MUX: Setting register LCD_HSYNC
           PINMUX19 (0x0000004c) = 0x00000000 -> 0x00000002
MUX: initialized LCD_VSYNC
MUX: Setting register LCD_VSYNC
           PINMUX19 (0x0000004c) = 0x00000002 -> 0x00000022
MUX: initialized NLCD_AC_ENB_CS
MUX: Setting register NLCD_AC_ENB_CS
           PINMUX19 (0x0000004c) = 0x00000022 -> 0x02000022
MUX: initialized GPIO2_8
MUX: Setting register GPIO2_8
           PINMUX5 (0x00000014) = 0x00110110 -> 0x80110110
MUX: initialized GPIO2_15
MUX: Setting register GPIO2_15
           PINMUX5 (0x00000014) = 0x80110110 -> 0x80110118
MUX: initialized RTC_ALARM
MUX: Setting register RTC_ALARM
           PINMUX0 (0x00000000) = 0x41111111 -> 0x21111111
edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
edma-dma-engine edma-dma-engine.1: TI EDMA DMA engine driver
VDCDC1: 3200 <--> 3300 mV at 3300 mV
VDCDC2: 1750 <--> 3300 mV at 3300 mV
VDCDC3: 950 <--> 1350 mV at 1200 mV
LDO1: 1800 mV
LDO2: 1150 <--> 1300 mV at 1200 mV
pca953x 1-0020: failed reading register
pca953x: probe of 1-0020 failed with error -121
pca953x 1-0021: interrupt support not compiled in
Switched to clocksource timer0_1
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
EMAC: MII PHY configured, RMII PHY will not be functional
MUX: initialized GPIO2_6
MUX: Setting register GPIO2_6
           PINMUX6 (0x00000018) = 0x00000000 -> 0x00000080
futex hash table entries: 256 (order: -1, 3072 bytes)
msgmni has been set to 228
io scheduler noop registered (default)
da8xx_lcdc da8xx_lcdc.0: found Sharp_LK043T1DG01 panel
Console: switching to colour frame buffer device 60x34
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25, base_baud = 9375000)
is a 16550A
serial8250.1: ttyS1 at MMIO 0x1d0c000 (irq = 53, base_baud = 8250000)
is a 16550A
console [ttyS2] disabled
serial8250.2: ttyS2 at MMIO 0x1d0d000 (irq = 61, base_baud = 8250000)
is a 16550A
console [ttyS2] enabled
brd: module loaded
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
davinci_mdio davinci_mdio.0: detected phy mask fffffffe
libphy: davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[0]: device davinci_mdio-0:00, driver unknown
input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0
i2c /dev entries driver
TCP: cubic registered
NET: Registered protocol family 17
LDO2: incomplete constraints, leaving on
LDO1: incomplete constraints, leaving on
VDCDC3: incomplete constraints, leaving on
VDCDC2: incomplete constraints, leaving on
VDCDC1: incomplete constraints, leaving on
console [netcon0] enabled
netconsole: network logging started
davinci_emac davinci_emac.1: using random MAC addr: 56:35:07:3f:48:19
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
net eth0: Request IRQ 33
net eth0: Request IRQ 34
net eth0: Request IRQ 35
net eth0: Request IRQ 36
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [Generic PHY]
(mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
davinci_emac davinci_emac.1 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IP-Config: Guessing netmask 255.255.0.0
IP-Config: Complete:
     device=eth0, hwaddr=56:35:07:3f:48:19, ipaddr=169.254.243.185,
mask=255.255.0.0, gw=255.255.255.255
     host=169.254.243.185, domain=, nis-domain=(none)
     bootserver=255.255.255.255, rootserver=169.254.243.186, rootpath=
VFS: Mounted root (nfs filesystem) on device 0:13.
devtmpfs: mounted
Freeing unused kernel memory: 148K (c0435000 - c045a000)
INIT: version 2.86 booting
Please wait: booting...
Starting udev
random: nonblocking pool is initialized
udevd (975): /proc/975/oom_adj is deprecated, please use
/proc/975/oom_score_adj instead.
udev: starting version 141
udevd[975]: inotify_add_watch(3, (null), 10) failed: Bad address

Root filesystem already rw, not remounting
WARNING: Couldn't open directory
/lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty: No such
file or directory
FATAL: Could not open
/lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep.temp
for writing: No such file or directory
modprobe: FATAL: Could not load
/lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep:
No such file or directory

modprobe: FATAL: Could not load
/lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep:
No such file or directory

root: mount: mounting rootfs on / failed: No such file or directory
root: mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Setting up IP spoofing protection: rp_filter.
Configuring network interfaces... done.
Sat Dec 12 20:53:00 UTC 2009
INIT: Entering runlevel: 5
Starting telnet daemon.
modprobe: FATAL: Could not load
/lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep:
No such file or directory

Starting syslogd/klogd: done
Starting thttpd.

 _____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project http://arago-project.org da850-omapl138-evm ttyS2

Arago 2009.11 da850-omapl138-evm ttyS2

da850-omapl138-evm login: root
Sekhar Nori May 21, 2014, 8:13 a.m. UTC | #3
On Tuesday 20 May 2014 10:32 PM, Prabhakar Lad wrote:
> Sekhar,
> 
> I am not sure why this didnt work on your side you can find the boot log at [1],
> I tested this on latest next.

I tried NFS after a long time. It could have been some setup issue.
Thanks for testing at your end.

Regards,
Sekhar
diff mbox

Patch

diff --git a/mm/filemap.c b/mm/filemap.c
index 2a7b9d1..0691481 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2459,7 +2459,7 @@  ssize_t generic_perform_write(struct file *file,
 		flags |= AOP_FLAG_UNINTERRUPTIBLE;
 
 	do {
-		struct page *page;
+		struct page *page = NULL;
 		unsigned long offset;	/* Offset into pagecache page */
 		unsigned long bytes;	/* Bytes to write to page */
 		size_t copied;		/* Bytes copied from user */