From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Sonic Zhang <sonic.adi@gmail.com>
Cc: Sonic Zhang <sonic.zhang@analog.com>,
linux-input@vger.kernel.org,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [RFT/PATCH] Input: bfin_rotary - introduce open and close methods
Date: Wed, 11 Feb 2015 23:54:28 -0800 [thread overview]
Message-ID: <20150212075428.GB7653@dtor-ws> (raw)
In-Reply-To: <CAJxxZ0MGRWAduU2cdeQiU09629u=HNCu+ay62Niikhp==AgpBw@mail.gmail.com>
Hi Sonic,
On Fri, Feb 06, 2015 at 05:37:29PM +0800, Sonic Zhang wrote:
> Hi Dmitry,
>
> After apply your patch manually to my blackfin kernel tree, I got
> kernel panic when probe the rotary.
Hmm, I found one potential issue that might cause panic, but it was
preexisting.... Anyway, I uploaded all bfin_rotary patches on top of
3.19 into bfin_rotary branch of my tree on kernel.org, can you please
grab them from there and try again?
Thanks!
>
> NULL pointer access
> Kernel OOPS in progress
> Deferred Exception context
> CURRENT PROCESS:
> COMM=swapper PID=1 CPU=0
> invalid mm
> return address: [0x00167648]; contents of:
> 0x00167620: f000 b068 0a08 1807 3038 3007 e801 0000
> 0x00167630: 05b3 0010 3044 6001 e3fc da5a b0a8 0c80
> 0x00167640: 191b 0000 6802 6000 [e511] 0075 ac4a 9710
> 0x00167650: ac4a 6c22 9710 a3a2 a0a9 0c02 18ec cc00
>
> CPU: 0 PID: 1 Comm: swapper Not tainted
> 3.17.0-ADI-2014R1-pre-00455-ga5d060e-dirty #5
> task: 04025a20 ti: 04026000 task.ti: 04026000
> Compiled for cpu family 0x27fe (Rev 0), but running on:0x0000 (Rev 0)
> ADSP-BF609-0.0 500(MHz CCLK) 125(MHz SCLK) (mpu off)
> Linux version 3.17.0-ADI-2014R1-pre-00455-ga5d060e-dirty (sonic@nine)
> (gcc version 4.3.5 (ADI-mast5
>
> SEQUENCER STATUS: Not tainted
> SEQSTAT: 00000027 IPEND: 8008 IMASK: ffff SYSCFG: 2806
> EXCAUSE : 0x27
> physical IVG3 asserted : <0xffa00744> { _trap + 0x0 }
> physical IVG15 asserted : <0xffa00d68> { _evt_system_call + 0x0 }
> logical irq 6 mapped : <0xffa003bc> { _bfin_coretmr_interrupt + 0x0 }
> logical irq 7 mapped : <0x00008858> { _bfin_fault_routine + 0x0 }
> logical irq 11 mapped : <0x00007754> { _l2_ecc_err + 0x0 }
> logical irq 13 mapped : <0x00008858> { _bfin_fault_routine + 0x0 }
> logical irq 39 mapped : <0x0016a350> { _bfin_twi_interrupt_entry + 0x0 }
> logical irq 40 mapped : <0x0016a350> { _bfin_twi_interrupt_entry + 0x0 }
> logical irq 62 mapped : <0x00132438> { _adi_spi_tx_dma_isr + 0x0 }
> logical irq 63 mapped : <0x00132784> { _adi_spi_rx_dma_isr + 0x0 }
> logical irq 64 mapped : <0x0013282c> { _spi_irq_err + 0x0 }
> logical irq 65 mapped : <0x00132438> { _adi_spi_tx_dma_isr + 0x0 }
> logical irq 66 mapped : <0x00132784> { _adi_spi_rx_dma_isr + 0x0 }
> logical irq 67 mapped : <0x0013282c> { _spi_irq_err + 0x0 }
> RETE: <0x00000000> /* Maybe null pointer? */
> RETN: <0x04027cf4> /* kernel dynamic memory (maybe user-space) */
> RETX: <0x00000480> /* Maybe fixed code section */
> RETS: <0x0016763c> { _bfin_rotary_probe + 0x54 }
> PC : <0x00167648> { _bfin_rotary_probe + 0x60 }
> DCPLB_FAULT_ADDR: <0x000001d4> /* Maybe null pointer? */
> ICPLB_FAULT_ADDR: <0x00167648> { _bfin_rotary_probe + 0x60 }
> PROCESSOR STATE:
> R0 : 00000000 R1 : 00000000 R2 : 00000400 R3 : 00000001
> R4 : 0030c310 R5 : 002d6680 R6 : 002e7bd8 R7 : 00000000
> P0 : 00000002 P1 : 002e86ac P2 : 00000000 P3 : 002e8690
> P4 : 002e7bcc P5 : 0409930c FP : 04027d10 SP : 04027c18
> LB0: ffa015b8 LT0: ffa015b8 LC0: 00000000
> LB1: 00094072 LT1: 00094062 LC1: 00000000
> B0 : 0000001f L0 : 00000000 M0 : 0402a400 I0 : 04027c44
> B1 : 0000000e L1 : 00000000 M1 : 002fa814 I1 : 0407846c
> B2 : 00000020 L2 : 00000000 M2 : 00000000 I2 : 04028ac8
> B3 : 0022aa6c L3 : 00000000 M3 : 00000000 I3 : 0000001a
> A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
> USP : 00000000 ASTAT: 02003004
>
> Hardware Trace:
> 0 Target : <0x00003fe8> { _trap_c + 0x0 }
> Source : <0xffa006d8> { _exception_to_level5 + 0xa0 } JUMP.L
> 1 Target : <0xffa00638> { _exception_to_level5 + 0x0 }
> Source : <0xffa004f2> { _bfin_return_from_exception + 0x6 } RTX
> 2 Target : <0xffa004ec> { _bfin_return_from_exception + 0x0 }
> Source : <0xffa00590> { _ex_trap_c + 0x70 } JUMP.S
> 3 Target : <0xffa00520> { _ex_trap_c + 0x0 }
> Source : <0xffa0076e> { _trap + 0x2a } JUMP (P4)
> 4 Target : <0xffa00744> { _trap + 0x0 }
> FAULT : <0x00167648> { _bfin_rotary_probe + 0x60 } P1 = [P2 + -0x54]
> Source : <0x00167646> { _bfin_rotary_probe + 0x5e } 0x6000
> 5 Target : <0x0016763c> { _bfin_rotary_probe + 0x54 }
> Source : <0x00102b50> { _platform_get_irq + 0x64 } RTS
> 6 Target : <0x00102b44> { _platform_get_irq + 0x58 }
> Source : <0x00102b2c> { _platform_get_irq + 0x40 } IF CC JUMP pcrel
> 7 Target : <0x00102b0a> { _platform_get_irq + 0x1e }
> Source : <0x00102b28> { _platform_get_irq + 0x3c } IF !CC JUMP pcrel (BP)
> 8 Target : <0x00102b14> { _platform_get_irq + 0x28 }
> Source : <0x00102b08> { _platform_get_irq + 0x1c } JUMP.S
> 9 Target : <0x00102aec> { _platform_get_irq + 0x0 }
> Source : <0x00167638> { _bfin_rotary_probe + 0x50 } JUMP.L
> 10 Target : <0x00167634> { _bfin_rotary_probe + 0x4c }
> Source : <0x00167626> { _bfin_rotary_probe + 0x3e } IF CC JUMP pcrel
> 11 Target : <0x0016761e> { _bfin_rotary_probe + 0x36 }
> Source : <0x000d9c04> { _devm_ioremap_resource + 0x38 } RTS
> 12 Target : <0x000d9bfe> { _devm_ioremap_resource + 0x32 }
> Source : <0x000d9c46> { _devm_ioremap_resource + 0x7a } IF !CC
> JUMP pcrel (BP)
> 13 Target : <0x000d9c44> { _devm_ioremap_resource + 0x78 }
> Source : <0x000d9b58> { _devm_ioremap_nocache + 0x3c } RTS
> 14 Target : <0x000d9b50> { _devm_ioremap_nocache + 0x34 }
> Source : <0x00103bc8> { _devres_add + 0x48 } RTS
> 15 Target : <0x00103b9c> { _devres_add + 0x1c }
> Source : <0x00103b96> { _devres_add + 0x16 } IF CC JUMP pcrel
> Kernel Stack
> Stack info:
> SP: [0x04027d58] <0x04027d58> /* kernel dynamic memory (maybe user-space) */
> Memory from 0x04027d50 to 04028000
> 04027d50: 000cda8c 0447f160 [04027d84] 00101cb4 002e7bd8 00301794
> 002fab6c 002e7c0c
> 04027d70: 04027da4 00301794 0030c310 04027da8 000cddc0 04027dac
> <00100950> 00101c4c
> 04027d90: 00301794 00000000 00000000 00000000 04027dec 040225ac
> 04070af0 04027dd4
> 04027db0: 0010199a 0447f160 048a7d80 002c6018 00000000 04027df0
> 04027dec 04027df0
> 04027dd0: 00101c4c 04027df0 00100f50 04027dfc 001020d8 00301794
> 002788e0 00271bb8
> 04027df0: 04027e14 001021ba 00301794 002e5234 00319710 048a7d80
> 04027e54 00273210
> 04027e10: 048a7d80 04027e30 00102f8e 002e5234 048a7d80 000d4b8a
> 04027ea0 0000105a
> 04027e30: 04027e44 00319722 00319710 048a7d80 002c6018 04027ea0
> <0000106e><00100100>
> 04027e50: 00200200 00319710 00000000 04027e94 04027e00 0030c322
> 04027e98 00026130
> 04027e70: 00325c64 04027e9c <0001bcde> 00000063 0081453f 002ea330
> 00216528 00000000
> 04027e90: 00000000 00000006 00000006 04027edc 04027edc 0030c28e
> 00325ef0 0031fc48
> 04027eb0: 0031fc28 00000007 002c6018 00000063 00291fb0 a8824141
> 002c56e0 00000063
> 04027ed0: 00000006 00000006 0030c310 04027f0c 0021402e 00216528
> 04025a20 040256e0
> 04027ef0: 040258c8 002ea284 002ea330 00216528 ffa00006 00216528
> 040258c8 0402feb0
> 04027f10:<ffa00014> 00216528 28060484 00214024 00000000 00000000
> 00008000 00000000
> 04027f30: 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000
> 04027f50: 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000
> 04027f70: 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000
> 04027f90: 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000
> 04027fb0: 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000
> 04027fd0: 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000
> 04027ff0: 00000000 00000000 ffffffff 00002806
> Return addresses in stack:
> address : <0x00100950> { _bus_for_each_dev + 0x5c }
> address : <0x0000106e> { _do_one_initcall + 0x6e }
> address : <0x00100100> { _device_add + 0x3b4 }
> address : <0x0001bcde> { _parse_args + 0x12e }
> address : <0xffa00014> { _ret_from_fork + 0x14 }
> Modules linked in:
> Kernel panic - not syncing: Kernel exception
> ---[ end Kernel panic - not syncing: Kernel exception
>
>
> Regards,
>
> Sonic Zhang
--
Dmitry
next prev parent reply other threads:[~2015-02-12 7:54 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-06 6:56 [RFT/PATCH] Input: bfin_rotary - introduce open and close methods Dmitry Torokhov
2015-02-06 9:22 ` Sonic Zhang
2015-02-06 9:37 ` Sonic Zhang
2015-02-12 7:54 ` Dmitry Torokhov [this message]
2015-02-13 2:47 ` Sonic Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150212075428.GB7653@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sonic.adi@gmail.com \
--cc=sonic.zhang@analog.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.