← Back to team overview

linaro-pkg team mailing list archive

[Bug 1027907] Re: vexpress A5 and A15 (TC1) crash on boot

 

** Changed in: linaro-ubuntu
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Linaro
Maintainers, which is the registrant for Linaro Linux.
https://bugs.launchpad.net/bugs/1027907

Title:
  vexpress A5 and A15 (TC1) crash on boot

Status in Linaro Android:
  New
Status in Linaro ARM Landing Team Project:
  New
Status in Linaro Ubuntu Evaluation Builds:
  Fix Committed
Status in Linaro Linux:
  Fix Released

Bug description:
  Booting vexpress using a device-tree causes a crash at boot. This was found on the 12.07 release candidate:
  https://android-build.linaro.org/builds/~linaro-android/vexpress-ics-gcc47-armlt-tracking-open-12.07-release/

  This means that the release won't be usable on A5 or A15 CoreTiles
  (TC1 and TC2). Fortunately, we have a separate release targeting TC2
  which doesn't have this bug. The symptoms of the bug are a crash
  like...

  [    3.488353] Unable to handle kernel NULL pointer dereference at virtual address 00000000
  [    3.512678] pgd = c0004000
  [    3.520764] [00000000] *pgd=00000000
  [    3.531497] Internal error: Oops: 805 [#1] SMP ARM
  [    3.545834] Modules linked in:
  [    3.554969] CPU: 1    Not tainted  (3.5.0-rc7-00617-g4b42f33 #1)
  [    3.572959] PC is at mmci_dt_populate_generic_pdata+0x20/0x128
  [    3.581148] nxp-isp1760 1b000000.usb: port 1 high speed
  [    3.606054] LR is at mmci_probe+0x70/0x4ac

  The bug is cased by a patch in linux-linaro and so will also affect the Ubuntu release. The problematic patch is 1db67fb9437eed6b909cc4a4add7a314375157b0 ([ARM] warnings in
  include/linux/of_gpio.h). This contains...

   /* Drivers may not strictly depend on the GPIO support, so let them link. */
   static inline int of_get_named_gpio_flags(struct device_node *np,
                  const char *list_name, int index, enum of_gpio_flags *flags)
   {
  +       *flags = 0;
          return -ENOSYS;
   }

  but the same header also has this...

  static inline int of_get_named_gpio(struct device_node *np,
                                     const char *propname, int index)
  {
          return of_get_named_gpio_flags(np, propname, index, NULL);
  }

  Which passes NULL for the flags pointer.

To manage notifications about this bug go to:
https://bugs.launchpad.net/linaro-android/+bug/1027907/+subscriptions