1. 25 11月, 2010 9 次提交
    • S
      drivers/leds/leds-lp5523.c: change some macros to functions · 87dbf623
      Samu Onkalo 提交于
      A small macro changed to inline function to have proper type checking.
      Inline added to two similar small functions.
      Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      87dbf623
    • S
      drivers/leds/leds-lp5521.c: change some macros to functions · 9fdb18b6
      Samu Onkalo 提交于
      Some small macros changed to inline functions to have proper type
      checking.
      Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9fdb18b6
    • K
      fuse: fix attributes after open(O_TRUNC) · a0822c55
      Ken Sumrall 提交于
      The attribute cache for a file was not being cleared when a file is opened
      with O_TRUNC.
      
      If the filesystem's open operation truncates the file ("atomic_o_trunc"
      feature flag is set) then the kernel should invalidate the cached st_mtime
      and st_ctime attributes.
      
      Also i_size should be explicitly be set to zero as it is used sometimes
      without refreshing the cache.
      Signed-off-by: NKen Sumrall <ksumrall@android.com>
      Cc: Anfei <anfei.zhou@gmail.com>
      Cc: "Anand V. Avati" <avati@gluster.com>
      Signed-off-by: NMiklos Szeredi <miklos@szeredi.hu>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a0822c55
    • R
      sgi-xpc: XPC fails to discover partitions with all nasids above 128 · c22c7aef
      Robin@sgi.com 提交于
      UV hardware defines 256 memory protection regions versus the baseline 64
      with increasing size for the SN2 ia64.  This was overlooked when XPC was
      modified to accomodate both UV and SN2.
      
      Without this patch, a user could reconfigure their existing system and
      suddenly disable cross-partition communications with no indication of what
      has gone wrong.  It also prevents larger configurations from using
      cross-partition communication.
      Signed-off-by: NRobin Holt <holt@sgi.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c22c7aef
    • K
      memcg: fix false positive VM_BUG on non-SMP · 112bc2e1
      Kirill A. Shutemov 提交于
      Fix this:
      
        kernel BUG at mm/memcontrol.c:2155!
        invalid opcode: 0000 [#1]
        last sysfs file:
      
        Pid: 18, comm: sh Not tainted 2.6.37-rc3 #3 /Bochs
        EIP: 0060:[<c10731b2>] EFLAGS: 00000246 CPU: 0
        EIP is at mem_cgroup_move_account+0xe2/0xf0
        EAX: 00000004 EBX: c6f931d4 ECX: c681c300 EDX: c681c000
        ESI: c681c300 EDI: ffffffea EBP: c681c000 ESP: c46f3e30
         DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
        Process sh (pid: 18, ti=c46f2000 task=c6826e60 task.ti=c46f2000)
        Stack:
         00000155 c681c000 0805f000 c46ee180 c46f3e5c c7058820 c1074d37 00000000
         08060000 c46db9a0 c46ec080 c7058820 0805f000 08060000 c46f3e98 c1074c50
         c106c75e c46f3e98 c46ec080 08060000 0805ffff c46db9a0 c46f3e98 c46e0340
        Call Trace:
         [<c1074d37>] ? mem_cgroup_move_charge_pte_range+0xe7/0x130
         [<c1074c50>] ? mem_cgroup_move_charge_pte_range+0x0/0x130
         [<c106c75e>] ? walk_page_range+0xee/0x1d0
         [<c10725d6>] ? mem_cgroup_move_task+0x66/0x90
         [<c1074c50>] ? mem_cgroup_move_charge_pte_range+0x0/0x130
         [<c1072570>] ? mem_cgroup_move_task+0x0/0x90
         [<c1042616>] ? cgroup_attach_task+0x136/0x200
         [<c1042878>] ? cgroup_tasks_write+0x48/0xc0
         [<c1041e9e>] ? cgroup_file_write+0xde/0x220
         [<c101398d>] ? do_page_fault+0x17d/0x3f0
         [<c108a79d>] ? alloc_fd+0x2d/0xd0
         [<c1041dc0>] ? cgroup_file_write+0x0/0x220
         [<c1077ba2>] ? vfs_write+0x92/0xc0
         [<c1077c81>] ? sys_write+0x41/0x70
         [<c1140e3d>] ? syscall_call+0x7/0xb
        Code: 03 00 74 09 8b 44 24 04 e8 1c f1 ff ff 89 73 04 8d 86 b0 00 00 00 b9 01 00 00 00 89 da 31 ff e8 65 f5 ff ff e9 4d ff ff ff 0f 0b <0f> 0b 0f 0b 0f 0b 90 8d b4 26 00 00 00 00 83 ec 10 8b 0d f4 e3
        EIP: [<c10731b2>] mem_cgroup_move_account+0xe2/0xf0 SS:ESP 0068:c46f3e30
        ---[ end trace 7daa1582159b6532 ]---
      
      lock_page_cgroup and unlock_page_cgroup are implemented using
      bit_spinlock.  bit_spinlock doesn't touch the bit if we are on non-SMP
      machine, so we can't use the bit to check whether the lock was taken.
      
      Let's introduce is_page_cgroup_locked based on bit_spin_is_locked instead
      of PageCgroupLocked to fix it.
      
      [akpm@linux-foundation.org: s/is_page_cgroup_locked/page_is_cgroup_locked/]
      Signed-off-by: NKirill A. Shutemov <kirill@shutemov.name>
      Reviewed-by: NJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujtisu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      112bc2e1
    • W
      uml: disable winch irq before freeing handler data · 69e83dad
      Will Newton 提交于
      Disable the winch irq early to make sure we don't take an interrupt part
      way through the freeing of the handler data, resulting in a crash on
      shutdown:
      
        winch_interrupt : read failed, errno = 9
        fd 13 is losing SIGWINCH support
        ------------[ cut here ]------------
        WARNING: at lib/list_debug.c:48 list_del+0xc6/0x100()
        list_del corruption, next is LIST_POISON1 (00100100)
        082578c8:  [<081fd77f>] dump_stack+0x22/0x24
        082578e0:  [<0807a18a>] warn_slowpath_common+0x5a/0x80
        08257908:  [<0807a23e>] warn_slowpath_fmt+0x2e/0x30
        08257920:  [<08172196>] list_del+0xc6/0x100
        08257940:  [<08060244>] free_winch+0x14/0x80
        08257958:  [<080606fb>] winch_interrupt+0xdb/0xe0
        08257978:  [<080a65b5>] handle_IRQ_event+0x35/0xe0
        08257998:  [<080a8717>] handle_edge_irq+0xb7/0x170
        082579bc:  [<08059bc4>] do_IRQ+0x34/0x50
        082579d4:  [<08059e1b>] sigio_handler+0x5b/0x80
        082579ec:  [<0806a374>] sig_handler_common+0x44/0xb0
        08257a68:  [<0806a538>] sig_handler+0x38/0x50
        08257a78:  [<0806a77c>] handle_signal+0x5c/0xa0
        08257a9c:  [<0806be28>] hard_handler+0x18/0x20
        08257aac:  [<00c14400>] 0xc14400
      Signed-off-by: NWill Newton <will.newton@gmail.com>
      Acked-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      69e83dad
    • S
      nommu: yield CPU while disposing VM · 04c34961
      Steven J. Magnani 提交于
      Depending on processor speed, page size, and the amount of memory a
      process is allowed to amass, cleanup of a large VM may freeze the system
      for many seconds.  This can result in a watchdog timeout.
      
      Make sure other tasks receive some service when cleaning up large VMs.
      Signed-off-by: NSteven J. Magnani <steve@digidescorp.com>
      Cc: Greg Ungerer <gerg@snapgear.com>
      Reviewed-by: NKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      04c34961
    • L
      include/linux/fs.h: fix userspace build · 3a3a1af3
      Loïc Minier 提交于
      dpkg uses fiemap but didn't particularly need to include stdint.h so far.
      Since 367a51a3 ("fs: Add FITRIM ioctl"), build of linux/fs.h failed in
      dpkg with:
      
        In file included from ../../src/filesdb.c:27:0:
        /usr/include/linux/fs.h:37:2: error: expected specifier-qualifier-list before 'uint64_t'
      
      Use exportable type __u64 to avoid the dependency on stdint.h.
      
      b31d42a5 ("Fix compile brekage with !CONFIG_BLOCK") fixed only the
      kernel build by including linux/types.h, but this also fixed "make
      headers_check", so don't revert it.
      Signed-off-by: NLoïc Minier <loic.minier@linaro.org>
      Tested-by: NArnd Bergmann <arnd.bergmann@linaro.org>
      Cc: Lukas Czerner <lczerner@redhat.com>
      Cc: Dmitry Monakhov <dmonakhov@openvz.org>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3a3a1af3
    • 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 14 次提交