1. 25 11月, 2010 1 次提交
    • S
      leds: fix bug with reading NAS SS4200 dmi code · 50d431e8
      Steven Rostedt 提交于
      While running randconfg with ktest.pl I stumbled upon this bug:
      
        BUG: unable to handle kernel NULL pointer dereference at 0000000000000003
        IP: [<ffffffff815fe44f>] strstr+0x39/0x86
        PGD 0
        Oops: 0000 [#1] SMP
        last sysfs file:
        CPU 0
        Modules linked in:
      
        Pid: 1, comm: swapper Not tainted 2.6.37-rc1-test+ #6 DG965MQ/
        RIP: 0010:[<ffffffff815fe44f>]  [<ffffffff815fe44f>] strstr+0x39/0x86
        RSP: 0018:ffff8800797cbd80  EFLAGS: 00010213
        RAX: 0000000000000000 RBX: 0000000000000003 RCX: ffffffffffffffff
        RDX: 0000000000000000 RSI: ffffffff82eb7ac9 RDI: 0000000000000003
        RBP: ffff8800797cbda0 R08: ffff880000000003 R09: 0000000000030725
        R10: ffff88007d294c00 R11: 0000000000014c00 R12: 0000000000000020
        R13: ffffffff82eb7ac9 R14: ffffffffffffffff R15: ffffffff82eb7b08
        FS:  0000000000000000(0000) GS:ffff88007d200000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
        CR2: 0000000000000003 CR3: 0000000002a1d000 CR4: 00000000000006f0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
        Process swapper (pid: 1, threadinfo ffff8800797ca000, task ffff8800797d0000)
        Stack:
         00000000000000ba ffffffff82eb7ac9 ffffffff82eb7ab8 00000000000000ba
         ffff8800797cbdf0 ffffffff81e2050f ffff8800797cbdc0 00000000815f913b
         ffff8800797cbe00 ffffffff82eb7ab8 0000000000000000 0000000000000000
        Call Trace:
         [<ffffffff81e2050f>] dmi_matches+0x117/0x154
         [<ffffffff81e205d7>] dmi_check_system+0x3d/0x8d
         [<ffffffff82e1ad25>] ? nas_gpio_init+0x0/0x2c8
         [<ffffffff82e1ad49>] nas_gpio_init+0x24/0x2c8
         [<ffffffff820d750d>] ? wm8350_led_init+0x0/0x20
         [<ffffffff82e1ad25>] ? nas_gpio_init+0x0/0x2c8
         [<ffffffff810022f7>] do_one_initcall+0xab/0x1b2
         [<ffffffff82da749c>] kernel_init+0x248/0x331
         [<ffffffff8100e624>] kernel_thread_helper+0x4/0x10
         [<ffffffff82da7254>] ? kernel_init+0x0/0x331
      
      Found that the nas_led_whitelist dmi_system_id structure array had no
      NULL end delimiter, causing the dmi_check_system() loop to read an
      undefined entry.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NDave Hansen <dave@sr71.net>
      Acked-by: NRichard Purdie <rpurdie@linux.intel.com>
      Acked-by: NArjan van de Ven <arjan@linux.intel.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      50d431e8
  2. 24 11月, 2010 4 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · ea49b166
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (41 commits)
        ALSA: hda - Identify more variants for ALC269
        ALSA: hda - Fix wrong ALC269 variant check
        ALSA: hda - Enable jack sense for Thinkpad Edge 11
        ALSA: Revert "ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STAC"
        ALSA: hda - Fixed ALC887-VD initial error
        ALSA: atmel - Fix the return value in error path
        ALSA: hda: Use hp-laptop quirk to enable headphones automute for Asus A52J
        ALSA: snd-atmel-abdac: test wrong variable
        ALSA: azt3328: period bug fix (for PA), add missing ACK on stop timer
        ALSA: hda: Add Samsung R720 SSID for subwoofer pin fixup
        ALSA: sound/pci/asihpi/hpioctl.c: Remove unnecessary casts of pci_get_drvdata
        ALSA: sound/core/pcm_lib.c: Remove unnecessary semicolons
        ALSA: sound/ppc: Use printf extension %pR for struct resource
        ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and Headphone controls
        ASoC: uda134x - set reg_cache_default to uda134x_reg
        ASoC: Add support for MAX98089 CODEC
        ASoC: davinci: fixes for multi-component
        ASoC: Fix register cache setup WM8994 for multi-component
        ASoC: Fix dapm_seq_compare() for multi-component
        ASoC: RX1950: Fix hw_params function
        ...
      ea49b166
    • L
      Merge branch 'upstream/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen · a4ec046c
      Linus Torvalds 提交于
      * 'upstream/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: (23 commits)
        xen/events: Use PIRQ instead of GSI value when unmapping MSI/MSI-X irqs.
        xen: set IO permission early (before early_cpu_init())
        xen: re-enable boot-time ballooning
        xen/balloon: make sure we only include remaining extra ram
        xen/balloon: the balloon_lock is useless
        xen: add extra pages to balloon
        xen: make evtchn's name less generic
        xen/evtchn: the evtchn device is non-seekable
        Revert "xen/privcmd: create address space to allow writable mmaps"
        xen/events: use locked set|clear_bit() for cpu_evtchn_mask
        xen/evtchn: clear secondary CPUs' cpu_evtchn_mask[] after restore
        xen/xenfs: update xenfs_mount for new prototype
        xen: fix header export to userspace
        xen: implement XENMEM_machphys_mapping
        xen: set vma flag VM_PFNMAP in the privcmd mmap file_op
        xen: xenfs: privcmd: check put_user() return code
        xen/evtchn: add missing static
        xen/evtchn: Fix name of Xen event-channel device
        xen/evtchn: don't do unbind_from_irqhandler under spinlock
        xen/evtchn: remove spurious barrier
        ...
      a4ec046c
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 3cbaa0f7
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        of/phylib: Use device tree properties to initialize Marvell PHYs.
        phylib: Add support for Marvell 88E1149R devices.
        phylib: Use common page register definition for Marvell PHYs.
        qlge: Fix incorrect usage of module parameters and netdev msg level
        ipv6: fix missing in6_ifa_put in addrconf
        SuperH IrDA: correct Baud rate error correction
        atl1c: Fix hardware type check for enabling OTP CLK
        net: allow GFP_HIGHMEM in __vmalloc()
        bonding: change list contact to netdev@vger.kernel.org
        e1000: fix screaming IRQ
      3cbaa0f7
    • L
      Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · e9457165
      Linus Torvalds 提交于
      * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
        USB: EHCI: fix obscure race in ehci_endpoint_disable
        USB: gadget: AT91: fix typo in atmel_usba_udc driver
        USB: isp1362-hcd - fix section mismatch warning
        USB: EHCI: AMD periodic frame list table quirk
        USB: OTG: langwell_otg: fix up some sysfs attribute permissions
        USB: misc: usbsevseg: fix up some sysfs attribute permissions
        USB: misc: usbled: fix up some sysfs attribute permissions
        USB: misc: trancevibrator: fix up a sysfs attribute permission
        USB: misc: cypress_cy7c63: fix up some sysfs attribute permissions
        USB: storage: sierra_ms: fix sysfs file attribute
        USB: ehci: fix debugfs 'lpm' permissions
        USB: atm: ueagle-atm: fix up some permissions on the sysfs files
        xhci: Fix command ring replay after resume.
        xHCI: fix wMaxPacketSize mask
        xHCI: release spinlock when setup interrupt
        xhci: Remove excessive printks with shared IRQs.
      e9457165
  3. 23 11月, 2010 13 次提交
    • T
      Merge branch 'fix/asoc' into for-linus · 9e8c32ca
      Takashi Iwai 提交于
      9e8c32ca
    • T
      Merge branch 'for-2.6.37' of... · bf86f07e
      Takashi Iwai 提交于
      Merge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into fix/asoc
      bf86f07e
    • K
      ALSA: hda - Identify more variants for ALC269 · 48c88e82
      Kailang Yang 提交于
      Give more correct chip names for ALC269-variant codecs.
      Signed-off-by: NKailang Yang <kailang@realtek.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      48c88e82
    • K
      ALSA: hda - Fix wrong ALC269 variant check · 1657cbd8
      Kailang Yang 提交于
      The refactoring commit d433a678
          ALSA: hda - Optimize the check of ALC269 codec variants
      introduced a wrong check for ALC269-vb type.  This patch corrects it.
      Signed-off-by: NKailang Yang <kailang@realtek.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1657cbd8
    • M
      ALSA: hda - Enable jack sense for Thinkpad Edge 11 · 6027277e
      Manoj Iyer 提交于
      Add a quirk entry for Thinkpad Edge 11 as well as other TP Edge models.
      Signed-off-by: NManoj Iyer <manoj.iyer@canonical.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6027277e
    • T
      ALSA: Revert "ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STAC" · d090f597
      Takashi Iwai 提交于
      This reverts commit f41cc2a8.
      
      The patch broke the digital mic pin handling wrongly.
      Reference: bko#23162
      	https://bugzilla.kernel.org/show_bug.cgi?id=23162Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d090f597
    • J
      Merge branches 'upstream/core', 'upstream/xenfs' and 'upstream/evtchn' into upstream/for-linus · 9b832153
      Jeremy Fitzhardinge 提交于
      * upstream/core:
        xen/events: Use PIRQ instead of GSI value when unmapping MSI/MSI-X irqs.
        xen: set IO permission early (before early_cpu_init())
        xen: re-enable boot-time ballooning
        xen/balloon: make sure we only include remaining extra ram
        xen/balloon: the balloon_lock is useless
        xen: add extra pages to balloon
        xen/events: use locked set|clear_bit() for cpu_evtchn_mask
        xen/evtchn: clear secondary CPUs' cpu_evtchn_mask[] after restore
        xen: implement XENMEM_machphys_mapping
      
      * upstream/xenfs:
        Revert "xen/privcmd: create address space to allow writable mmaps"
        xen/xenfs: update xenfs_mount for new prototype
        xen: fix header export to userspace
        xen: set vma flag VM_PFNMAP in the privcmd mmap file_op
        xen: xenfs: privcmd: check put_user() return code
      
      * upstream/evtchn:
        xen: make evtchn's name less generic
        xen/evtchn: the evtchn device is non-seekable
        xen/evtchn: add missing static
        xen/evtchn: Fix name of Xen event-channel device
        xen/evtchn: don't do unbind_from_irqhandler under spinlock
        xen/evtchn: remove spurious barrier
        xen/evtchn: ports start enabled
        xen/evtchn: dynamically allocate port_user array
        xen/evtchn: track enabled state for each port
      9b832153
    • K
      xen/events: Use PIRQ instead of GSI value when unmapping MSI/MSI-X irqs. · 12334715
      Konrad Rzeszutek Wilk 提交于
      When we allocate a vector for MSI/MSI-X we save away the PIRQ, and the
      vector value. When we unmap (de-allocate) the MSI/MSI-X vector(s) we
      need to provide the PIRQ and the vector value. What we did instead
      was to provide the GSI (which was zero) and the vector value, and we
      got these unhappy error messages:
      
      (XEN) irq.c:1575: dom0: pirq 0 not mapped
      [    7.733415] unmap irq failed -22
      
      This patches fixes this and we use the PIRQ value instead of the GSI
      value.
      
      CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      12334715
    • K
      xen: set IO permission early (before early_cpu_init()) · ec35a69c
      Konrad Rzeszutek Wilk 提交于
      This patch is based off "xen dom0: Set up basic IO permissions for dom0."
      by Juan Quintela <quintela@redhat.com>.
      
      On AMD machines when we boot the kernel as Domain 0 we get this nasty:
      
      mapping kernel into physical memory
      Xen: setup ISA identity maps
      about to get started...
      (XEN) traps.c:475:d0 Unhandled general protection fault fault/trap [#13] on VCPU 0 [ec=0000]
      (XEN) domain_crash_sync called from entry.S
      (XEN) Domain 0 (vcpu#0) crashed on cpu#0:
      (XEN) ----[ Xen-4.1-101116  x86_64  debug=y  Not tainted ]----
      (XEN) CPU:    0
      (XEN) RIP:    e033:[<ffffffff8130271b>]
      (XEN) RFLAGS: 0000000000000282   EM: 1   CONTEXT: pv guest
      (XEN) rax: 000000008000c068   rbx: ffffffff8186c680   rcx: 0000000000000068
      (XEN) rdx: 0000000000000cf8   rsi: 000000000000c000   rdi: 0000000000000000
      (XEN) rbp: ffffffff81801e98   rsp: ffffffff81801e50   r8:  ffffffff81801eac
      (XEN) r9:  ffffffff81801ea8   r10: ffffffff81801eb4   r11: 00000000ffffffff
      (XEN) r12: ffffffff8186c694   r13: ffffffff81801f90   r14: ffffffffffffffff
      (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000006f0
      (XEN) cr3: 0000000221803000   cr2: 0000000000000000
      (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
      (XEN) Guest stack trace from rsp=ffffffff81801e50:
      
      RIP points to read_pci_config() function.
      
      The issue is that we don't set IO permissions for the Linux kernel early enough.
      
      The call sequence used to be:
      
          xen_start_kernel()
      	x86_init.oem.arch_setup = xen_setup_arch;
              setup_arch:
                 - early_cpu_init
                     - early_init_amd
                        - read_pci_config
                 - x86_init.oem.arch_setup [ xen_arch_setup ]
                     - set IO permissions.
      
      We need to set the IO permissions earlier on, which this patch does.
      Acked-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      ec35a69c
    • D
      of/phylib: Use device tree properties to initialize Marvell PHYs. · cf41a51d
      David Daney 提交于
      Some aspects of PHY initialization are board dependent, things like
      indicator LED connections and some clocking modes cannot be determined
      by probing.  The dev_flags element of struct phy_device can be used to
      control these things if an appropriate value can be passed from the
      Ethernet driver.  We run into problems however if the PHY connections
      are specified by the device tree.  There is no way for the Ethernet
      driver to know what flags it should pass.
      
      If we are using the device tree, the struct phy_device will be
      populated with the device tree node corresponding to the PHY, and we
      can extract extra configuration information from there.
      
      The next question is what should the format of that information be?
      It is highly device specific, and the device tree representation
      should not be tied to any arbitrary kernel defined constants.  A
      straight forward representation is just to specify the exact bits that
      should be set using the "marvell,reg-init" property:
      
            phy5: ethernet-phy@5 {
              reg = <5>;
              compatible = "marvell,88e1149r";
              marvell,reg-init =
                      /* led[0]:1000, led[1]:100, led[2]:10, led[3]:tx */
                      <3 0x10 0 0x5777>, /* Reg 3,16 <- 0x5777 */
                      /* mix %:0, led[0123]:drive low off hiZ */
                      <3 0x11 0 0x00aa>, /* Reg 3,17 <- 0x00aa */
                      /* default blink periods. */
                      <3 0x12 0 0x4105>, /* Reg 3,18 <- 0x4105 */
                      /* led[4]:rx, led[5]:dplx, led[45]:drive low off hiZ */
                      <3 0x13 0 0x0a60>; /* Reg 3,19 <- 0x0a60 */
            };
      
            phy6: ethernet-phy@6 {
              reg = <6>;
              compatible = "marvell,88e1118";
              marvell,reg-init =
                      /* Fix rx and tx clock transition timing */
                      <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
                      /* Adjust LED drive. */
                      <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
                      /* irq, blink-activity, blink-link */
                      <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
            };
      
      The Marvell PHYs have a page select register at register 22 (0x16), we
      can specify any register by its page and register number.  These are
      the first and second word.  The third word contains a mask to be ANDed
      with the existing register value, and the fourth word is ORed with the
      result to yield the new register value.  The new marvell_of_reg_init
      function leaves the page select register unchanged, so a call to it
      can be dropped into the .config_init functions without unduly
      affecting the state of the PHY.
      
      If CONFIG_OF_MDIO is not set, there is no of_node, or no
      "marvell,reg-init" property, the PHY initialization is unchanged.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Cyril Chemparathy <cyril@ti.com>
      Cc: David Daney <ddaney@caviumnetworks.com>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cf41a51d
    • D
      phylib: Add support for Marvell 88E1149R devices. · 90600732
      David Daney 提交于
      The 88E1149R is 10/100/1000 quad-gigabit Ethernet PHY.  The
      .config_aneg function can be shared with 88E1118, but it needs its own
      .config_init.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Cc: Cyril Chemparathy <cyril@ti.com>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Wolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      90600732
    • D
      phylib: Use common page register definition for Marvell PHYs. · 27d916d6
      David Daney 提交于
      The definition of the Marvell PHY page register is not specific to
      88E1121, so rename the macro to MII_MARVELL_PHY_PAGE, and use it
      throughout.
      Suggested-by: NCyril Chemparathy <cyril@ti.com>
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Cc: Cyril Chemparathy <cyril@ti.com>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27d916d6
    • S
      qlge: Fix incorrect usage of module parameters and netdev msg level · 84cf7029
      Sonny Rao 提交于
      Driver appears to be mistaking the permission field with default value
      in the case of debug and qlge_irq_type.
      
      Driver is also passing debug as a bitmask into netif_msg_init()
      which wants a number of bits.  Ron Mercer suggests we should
      change this to pass in -1 so the defaults get used instead,
      which makes the default much less verbose.
      Signed-off-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NSonny Rao <sonnyrao@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      84cf7029
  4. 22 11月, 2010 17 次提交
  5. 20 11月, 2010 5 次提交