Note that there are plenty of other things in my kernel config. I only 
showed the differences between the original (when I would get kernel panic) 
and the modified (no kernel panic).


On Wednesday, November 26, 2014 10:07:00 AM UTC-5, beagler001 wrote:
>
> My kernel is no longer crashing. Unfortunately, I do not have the exact 
> work-around - as I was messing around with a lot of stuff to try to get 
> this to work.
>
> The one thing consistent in all this is the backtrace (/var/log/kern.log) 
> in that the routine c_can_get_berr_counter is doing something that it 
> should not do. But trying to get someone that knows about this code to take 
> a look seems to be a huge challenge. If you would like to see the 
> backtrace, let me know.
>
> I do know that the resolution was one of two things:
>
> 1. Our CAN transceiver's enable line was being shared with MMC1_DAT0 - 
> which was brought out to P8-25 on an expansion header. I tried (various 
> methods) to reset the eMMC in hopes of driving its pins to an open-drain 
> state. I could never get that to work, and therefore I could never drive 
> the CAN transceiver's enable line low. I got around this by wiring P8-25 
> directly to ground. That could have been causing problems with either the 
> CAN transceiver or the processor itself. Or it could be that leaving the 
> CAN transceiver enabled through the boot process caused issues as well. 
> Nonetheless, I clipped the P8-25 pin on our cape and wired from another 
> GPIO line that was routed to the P8 expansion header (P8-17 I think). This 
> allowed me to enable the CAN transceiver cleanly, post-boot.
>
> 2. I disabled some things in my kernel config.
>
> ----------------------------
> Original default (defconfig)
> ----------------------------
> CONFIG_CAN_SLCAN=m
> CONFIG_CAN_TI_HECC=m
> CONFIG_CAN_MCP251X=m
> CONFIG_CAN_GRCAN=m
> # CONFIG_CAN_DEBUG_DEVICES is not set
>
> CONFIG_WIMAX=m
> CONFIG_WIMAX_DEBUG_LEVEL=8
> CONFIG_RFKILL=m
> CONFIG_RFKILL_LEDS=y
> CONFIG_RFKILL_INPUT=y
> CONFIG_RFKILL_GPIO=m
>
> CONFIG_USB_HSO=m
>
> # WiMAX Wireless Broadband devices
> #
> # CONFIG_WIMAX_I2400M_USB is not set
>
> CONFIG_RADIO_WL128X=m
>
>
> ----------------------------
> Modified defconfig
> ----------------------------
> # CONFIG_CAN_SLCAN is not set
> # CONFIG_CAN_TI_HECC is not set
> # CONFIG_CAN_MCP251X is not set
> # CONFIG_CAN_GRCAN is not set
> CONFIG_CAN_DEBUG_DEVICES=y
>
> # CONFIG_WIMAX is not set
> # CONFIG_RFKILL is not set
>
> # Enable WiMAX (Networking options) to see the WiMAX drivers
> #
>
> # CONFIG_FB_BACKLIGHT is not set
>
> # CONFIG_USB_APPLEDISPLAY is not set
>
>
> Hope that helps.
>
>
> On Friday, November 21, 2014 2:47:21 PM UTC-5, Me Nee wrote:
>>
>> Thanks, very informative links, particularly the last one.
>>
>> On Friday, November 21, 2014 8:09:41 AM UTC-7, beagler001 wrote:
>>>
>>>
>>> No solution here yet, but I have found some very relevant discussions 
>>> out there. Something must have changed with the kernel scheduler that 
>>> requires drivers (CAN in our case) to be updated. I copied the BeagleBone 
>>> kernel support guru to this post (Robert Nelson). Perhaps he is already 
>>> aware of this problem and knows of a work-around. I will post something 
>>> if/when I get this figured out. Until then, here are some relevant links.
>>>
>>>
>>> http://stackoverflow.com/questions/3537252/how-to-solve-bug-scheduling-while-atomic-swapper-0x00000103-0-cpu0-in-ts
>>> http://e2e.ti.com/support/omap/f/849/t/250383.aspx
>>> https://community.freescale.com/thread/330079
>>>
>>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to