← Back to team overview

kernel-packages team mailing list archive

[Bug 1292563] Re: nvidia driver fails to initialize on Haswell without upstream kernel patch

 

I have applied this patch to a Saucy based kernel, could you test this
kernel and confirm it fixes things for you.  Kernels are at the URL
below:

    http://people.canonical.com/~apw/lp1292563-saucy/

Please report any testing back here.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1292563

Title:
  nvidia driver fails to initialize on Haswell without upstream kernel
  patch

Status in “linux” package in Ubuntu:
  Fix Released
Status in “linux-lts-saucy” package in Ubuntu:
  Triaged
Status in “linux” source package in Precise:
  Invalid
Status in “linux-lts-saucy” source package in Precise:
  Triaged
Status in “linux” source package in Saucy:
  Triaged
Status in “linux-lts-saucy” source package in Saucy:
  Invalid

Bug description:
  I have a Haswell-based Optimus laptop.  Trying to initialize the
  NVIDIA driver fails:

  [   58.885456] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:03:00.0 on minor 1
  [   58.885462] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  334.23  Sun Mar  9 21:06:05 PDT 2014
  [   58.886183] vgaarb: this pci device is not a vga device
  [   58.887550] nvidia 0000:03:00.0: irq 69 for MSI/MSI-X
  [   58.894206] NVRM: failed to copy vbios to system memory.
  [   58.896770] NVRM: RmInitAdapter failed! (0x30:0xffffffff:720)
  [   58.896777] NVRM: rm_init_adapter failed for device bearing minor number 0
  [   58.896796] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5

  This is fixed by cherry-picking the following kernel commit:

  commit 11b88ee275ec8590a373396888c2460ee89364d6
  Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
  Date:   Mon Sep 9 23:07:47 2013 +0200

      ACPI / bind: Prefer device objects with _STA to those without it
      
      As reported at https://bugzilla.kernel.org/show_bug.cgi?id=60829,
      there still are cases in which do_find_child() doesn't choose the
      ACPI device object it is "expected" to choose if there are more such
      objects matching one PCI device present.  This particular problem may
      be worked around by making do_find_child() return device obejcts witn
      _STA whose result indicates that the device is enabled before device
      objects without _STA if there's more than one device object to choose
      from.
      
      This change doesn't affect the case in which there's only one
      matching ACPI device object per PCI device.
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=60829
      Reported-by: Peter Wu <lekensteyn@xxxxxxxxx>
      Tested-by: Felix Lisczyk <felix.lisczyk@xxxxxxxxx>
      Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

   drivers/acpi/glue.c |   35 ++++++++++++++++++++++++-----------
   1 file changed, 24 insertions(+), 11 deletions(-)

  Ubuntu 13.10 is also affected, while the 14.04 beta works since it
  includes the above commit.

  # lsb_release -rd
  Description:	Ubuntu 12.04.4 LTS
  Release:	12.04
  # apt-cache policy linux-image-3.11.0-18-generic
  linux-image-3.11.0-18-generic:
    Installed: 3.11.0-18.32~precise1
    Candidate: 3.11.0-18.32~precise1
    Version table:
   *** 3.11.0-18.32~precise1 0
          500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
          500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
          100 /var/lib/dpkg/status

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1292563/+subscriptions