1. 22 7月, 2008 19 次提交
  2. 21 7月, 2008 21 次提交
    • D
      sunhme: Remove stop/wake TX queue calls in set-multicast-list handler. · fd24c4af
      David S. Miller 提交于
      Based upon a bug report by Alexander Beregalov and commentary
      from Ben Hutchings.
      
      These are totally unnecessary, in particular because this
      driver's ->hard_start_xmit() handler takes the same driver
      spinlock that the set-multicast-list handler uses.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd24c4af
    • A
      ucc_geth: do not touch net queue in adjust_link phylib callback · ebbdbd7c
      Anton Vorontsov 提交于
      If the net queue has not been started, we'll get this nice oops
      and non-working ethernet:
      
      ------------[ cut here ]------------
      Kernel BUG at c01f4648 [verbose debug info unavailable]
      Oops: Exception in kernel mode, sig: 5 [#1]
      MPC836x RDK
      Modules linked in:
      NIP: c01f4648 LR: c01c0a10 CTR: c01c08e4
      REGS: cf839e40 TRAP: 0700   Not tainted  (2.6.26-05254-gc7b9969)
      MSR: 00021032 <ME,IR,DR>  CR: 22042044  XER: 00000000
      TASK = cf828c30[4] 'events/0' THREAD: cf838000
      GPR00: c01c0a10 cf839ef0 cf828c30 c035ceb0 cf8469a0 00000064 00000000 00000000
      GPR08: c035ceb0 00000001 00000001 cf99c280 22044044 7ca81020 0fffc000 00000000
      GPR16: 0fff2544 0fff63c0 00000000 0fff78e0 0ffa5580 00000004 00000000 00000000
      GPR24: 02082000 cf9d0000 d1068000 00009032 cf846800 cf846b80 00000001 00000014
      NIP [c01f4648] __netif_schedule+0x28/0x8c
      LR [c01c0a10] adjust_link+0x12c/0x1e4
      Call Trace:
      [cf839ef0] [c0380f50] 0xc0380f50 (unreliable)
      [cf839f10] [c01c0a10] adjust_link+0x12c/0x1e4
      [cf839f40] [c01c2628] phy_state_machine+0x2e0/0x448
      [cf839f60] [c00425e8] run_workqueue+0xc8/0x168
      [cf839f90] [c0042c6c] worker_thread+0x70/0xd0
      [cf839fd0] [c0046954] kthread+0x48/0x84
      [cf839ff0] [c0012488] kernel_thread+0x44/0x60
      Instruction dump:
      7c0803a6 4e800020 3d20c036 9421ffe0 7c0802a6 7c681b78 3929ceb0 7c694a78
      7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028
      ---[ end trace a57d367843bd2904 ]---
      
      Since the driver is using phylib (which is doing netif_carrier_on/off()),
      we should simply remove netif_tx_schedule_all() from adjust_link().
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ebbdbd7c
    • A
      gianfar: do not touch net queue in adjust_link phylib callback · afc07946
      Anton Vorontsov 提交于
      If the net queue has not been started, we'll get this nice oops
      and non-working ethernet:
      
      PHY: 0:01 - Link is Up - 1000/Full
      ------------[ cut here ]------------
      kernel BUG at net/core/dev.c:1328!
      Oops: Exception in kernel mode, sig: 5 [#1]
      MPC837x RDB
      Modules linked in:
      NIP: c02544a0 LR: c01a17d0 CTR: c01a16ac
      REGS: cf837e40 TRAP: 0700   Not tainted  (2.6.26-05253-g14b395e3)
      MSR: 00021032 <ME,IR,DR>  CR: 22042044  XER: 00000000
      TASK = cf819400[5] 'events/0' THREAD: cf836000
      GPR00: c01a17d0 cf837ef0 cf819400 c03d8d08 cf8469a0 00000064 00000000 00000000
      GPR08: c03d8d08 00000001 00000001 cf899ba0 22044044 00000000 0fffd000 00000000
      GPR16: 0fff3028 0fff6cf0 00000000 0fff8390 0ff494a0 00000004 00000000 00000000
      GPR24: c0361a00 00001058 cf9f6600 00009032 cf846800 cf846b80 00000001 00000014
      NIP [c02544a0] __netif_schedule+0x28/0x8c
      LR [c01a17d0] adjust_link+0x124/0x1cc
      Call Trace:
      [cf837ef0] [c03fb3a0] 0xc03fb3a0 (unreliable)
      [cf837f10] [c01a17d0] adjust_link+0x124/0x1cc
      [cf837f40] [c01a8e28] phy_state_machine+0x2e0/0x448
      [cf837f60] [c0040254] run_workqueue+0xc8/0x168
      [cf837f90] [c00408d8] worker_thread+0x70/0xd0
      [cf837fd0] [c0044630] kthread+0x48/0x84
      [cf837ff0] [c0012610] kernel_thread+0x44/0x60
      Instruction dump:
      7c0803a6 4e800020 3d20c03e 9421ffe0 7c0802a6 7c681b78 39298d08 7c694a78
      7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028
      ---[ end trace 13dfd73ee42d0c30 ]---
      
      Since the driver is using phylib (which is doing netif_carrier_on/off()),
      we should simply remove netif_tx_schedule_all() from adjust_link().
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      afc07946
    • D
      atl1: Do not wake queue before queue has been started. · 39d48157
      David S. Miller 提交于
      Based upon a bug report by Alexey Dobriyan, the patch is
      also tested by him and confirmed to fix the problem.
      
      Packet flow during link state events should not be done by
      waking and stopping the TX queue anyways, that is handled
      transparently by netif_carrier_{on,off}().
      
      So, remove the netif_{wake,stop}_queue() calls in the link
      check code, and add the necessary netif_start_queue() call
      to atl1_up().
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      39d48157
    • L
      Merge branch 'for-2.6.27' of git://linux-nfs.org/~bfields/linux · 14b395e3
      Linus Torvalds 提交于
      * 'for-2.6.27' of git://linux-nfs.org/~bfields/linux: (51 commits)
        nfsd: nfs4xdr.c do-while is not a compound statement
        nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c
        lockd: Pass "struct sockaddr *" to new failover-by-IP function
        lockd: get host reference in nlmsvc_create_block() instead of callers
        lockd: minor svclock.c style fixes
        lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock
        lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock
        lockd: nlm_release_host() checks for NULL, caller needn't
        file lock: reorder struct file_lock to save space on 64 bit builds
        nfsd: take file and mnt write in nfs4_upgrade_open
        nfsd: document open share bit tracking
        nfsd: tabulate nfs4 xdr encoding functions
        nfsd: dprint operation names
        svcrdma: Change WR context get/put to use the kmem cache
        svcrdma: Create a kmem cache for the WR contexts
        svcrdma: Add flush_scheduled_work to module exit function
        svcrdma: Limit ORD based on client's advertised IRD
        svcrdma: Remove unused wait q from svcrdma_xprt structure
        svcrdma: Remove unneeded spin locks from __svc_rdma_free
        svcrdma: Add dma map count and WARN_ON
        ...
      14b395e3
    • L
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 734b397c
      Linus Torvalds 提交于
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
        gpu: re-order GPU subdirectory vs char for AGP vs DRM startup.
      734b397c
    • D
      ipv6: Fix warning in addrconf code. · 702beb87
      David Miller 提交于
      Reported by Linus.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      702beb87
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · d1671a9c
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        pkt_sched: Fix build with NET_SCHED disabled.
      d1671a9c
    • L
      Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd · ae0645a4
      Linus Torvalds 提交于
      * 'for-linus' of git://git.o-hand.com/linux-mfd:
        mfd: let asic3 use mem resource instead of bus_shift
        mfd: remove DS1WM register definitions from asic3.h
        mfd: add ASIC3_CONFIG_GPIO templates
        mfd: fix the asic3 irq demux code
        mfd: asic3 should depend on gpiolib
        mfd: fix asic3 config array initialisation
        mfd: move asic3 probe functions into __init section
        mfd: Use uppercase only for asic3 macros and defines
        mfd: use dev_* macros for asic3 debugging
        mfd: New asic3 gpio configuration code
        mfd: asic3 children platform data removal
        mfd: asic3 gpiolib support
      ae0645a4
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb · f894d183
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (277 commits)
        V4L/DVB (8415): gspca: Infinite loop in i2c_w() of etoms.
        V4L/DVB (8414): videodev/cx18: fix get_index bug and error-handling lock-ups
        V4L/DVB (8411): videobuf-dma-contig.c: fix 64-bit build for pre-2.6.24 kernels
        V4L/DVB (8410): sh_mobile_ceu_camera: fix 64-bit compiler warnings
        V4L/DVB (8397): video: convert select VIDEO_ZORAN_ZR36060 into depends on
        V4L/DVB (8396): video: Fix Kbuild dependency for VIDEO_IR_I2C
        V4L/DVB (8395): saa7134: Fix Kbuild dependency of ir-kbd-i2c
        V4L/DVB (8394): ir-common: CodingStyle fix: move EXPORT_SYMBOL_GPL to their proper places
        V4L/DVB (8393): media/video: Fix depencencies for VIDEOBUF
        V4L/DVB (8392): media/Kconfig: Convert V4L1_COMPAT select into "depends on"
        V4L/DVB (8390): videodev: add comment and remove magic number.
        V4L/DVB (8389): videodev: simplify get_index()
        V4L/DVB (8387): Some cosmetic changes
        V4L/DVB (8381): ov7670: fix compile warnings
        V4L/DVB (8380): saa7115: use saa7115_auto instead of saa711x as the autodetect driver name.
        V4L/DVB (8379): saa7127: Make device detection optional
        V4L/DVB (8378): cx18: move cx18_av_vbi_setup to av-core.c and rename to cx18_av_std_setup
        V4L/DVB (8377): ivtv/cx18: ensure the default control values are correct
        V4L/DVB (8376): cx25840: move cx25840_vbi_setup to core.c and rename to cx25840_std_setup
        V4L/DVB (8374): gspca: No conflict of 0c45:6011 with the sn9c102 driver.
        ...
      f894d183
    • L
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · d13ff055
      Linus Torvalds 提交于
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (21 commits)
        [MIPS] Remove unused maltasmp.h.
        [MIPS] Remove unused saa9730_uart.h.
        [MIPS] Rename MIPS sys_pipe syscall entry point to something MIPS-specific.
        [MIPS] 32-bit compat: Delete unused sys_truncate64 and sys_ftruncate64.
        [MIPS] TXx9: Fix some sparse warnings
        [MIPS] TXx9: Add 64-bit support
        [MIPS] TXx9: Cleanups for 64-bit support
        [MIPS] Cobalt: Fix I/O port resource range
        [MIPS] don't leak setup_early_printk() in userspace header
        [MIPS] Remove include/asm-mips/mips-boards/sead{,int}.h
        [MIPS] Remove asm-mips/mips-boards/atlas{,int}.h
        [MIPS] mips/sgi-ip22/ip28-berr.c: fix the build
        [MIPS] TXx9: Miscellaneous build fixes
        [MIPS] Routerboard 532: Support for base system
        [MIPS] IP32: Use common SGI button driver
        [MIPS] IP22: Use common SGI button driver
        [MIPS] IP22, IP28: Fix merge bug
        [MIPS] Tinker with constraints in <asm/atomic.h> to fix build error.
        [MIPS] Add missing prototypes to asm/page.h
        [MIPS] Fix missing prototypes in asm/fpu.h
        ...
      d13ff055
    • L
      Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm · f076ab8d
      Linus Torvalds 提交于
      * 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (70 commits)
        KVM: Adjust smp_call_function_mask() callers to new requirements
        KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts
        KVM: x86 emulator: emulate clflush
        KVM: MMU: improve invalid shadow root page handling
        KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction
        KVM: Prefix some x86 low level function with kvm_, to avoid namespace issues
        KVM: check injected pic irq within valid pic irqs
        KVM: x86 emulator: Fix HLT instruction
        KVM: Apply the kernel sigmask to vcpus blocked due to being uninitialized
        KVM: VMX: Add ept_sync_context in flush_tlb
        KVM: mmu_shrink: kvm_mmu_zap_page requires slots_lock to be held
        x86: KVM guest: make kvm_smp_prepare_boot_cpu() static
        KVM: SVM: fix suspend/resume support
        KVM: s390: rename private structures
        KVM: s390: Set guest storage limit and offset to sane values
        KVM: Fix memory leak on guest exit
        KVM: s390: dont allocate dirty bitmap
        KVM: move slots_lock acquision down to vapic_exit
        KVM: VMX: Fake emulate Intel perfctr MSRs
        KVM: VMX: Fix a wrong usage of vmcs_config
        ...
      f076ab8d
    • D
      pkt_sched: Fix build with NET_SCHED disabled. · 3a682fbd
      David S. Miller 提交于
      The stab bits can't be referenced uniless the full
      packet scheduler layer is enabled.
      
      Reported by Stephen Rothwell.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3a682fbd
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · db6d8c7a
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (1232 commits)
        iucv: Fix bad merging.
        net_sched: Add size table for qdiscs
        net_sched: Add accessor function for packet length for qdiscs
        net_sched: Add qdisc_enqueue wrapper
        highmem: Export totalhigh_pages.
        ipv6 mcast: Omit redundant address family checks in ip6_mc_source().
        net: Use standard structures for generic socket address structures.
        ipv6 netns: Make several "global" sysctl variables namespace aware.
        netns: Use net_eq() to compare net-namespaces for optimization.
        ipv6: remove unused macros from net/ipv6.h
        ipv6: remove unused parameter from ip6_ra_control
        tcp: fix kernel panic with listening_get_next
        tcp: Remove redundant checks when setting eff_sacks
        tcp: options clean up
        tcp: Fix MD5 signatures for non-linear skbs
        sctp: Update sctp global memory limit allocations.
        sctp: remove unnecessary byteshifting, calculate directly in big-endian
        sctp: Allow only 1 listening socket with SO_REUSEADDR
        sctp: Do not leak memory on multiple listen() calls
        sctp: Support ipv6only AF_INET6 sockets.
        ...
      db6d8c7a
    • L
      Merge branch 'for-linus' of git://www.jni.nu/cris · 3a533374
      Linus Torvalds 提交于
      * 'for-linus' of git://www.jni.nu/cris:
        [CRISv10] Clean up compressed/misc.c
        [CRISv10] Correct whitespace damage.
        [CRIS] Correct definition of subdirs for install_headers.
        [CRIS] Correct image makefiles to allow using a separate OBJ-directory.
        [CRIS] Build fixes for compressed and rescue images for v10 and v32:
        It looks at least odd to apply spin_unlock to a mutex.
        cris: compile fixes for 2.6.26-rc5
      3a533374
    • G
      initrd: Fix virtual/physical mix-up in overwrite test · fb6624eb
      Geert Uytterhoeven 提交于
      On recent kernels, I get the following error when using an initrd:
      
      | initrd overwritten (0x00b78000 < 0x07668000) - disabling it.
      
      My Amiga 4000 has 12 MiB of RAM at physical address 0x07400000 (virtual
      0x00000000).
      The initrd is located at the end of RAM: 0x00b78000 - 0x00c00000 (virtual).
      The overwrite test compares the (virtual) initrd location to the (physical)
      first available memory location, which fails.
      
      This patch converts initrd_start to a page frame number, so it can safely be
      compared with min_low_pfn.
      
      Before the introduction of discontiguous memory support on m68k
      (12d810c1), min_low_pfn was just left
      untouched by the m68k-specific code (zero, I guess), and everything worked
      fine.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fb6624eb
    • A
      dio: use dio_match_device() in dio_bus_match() · 18c99362
      Akinobu Mita 提交于
      dio_bus_match() can use dio_match_device().
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      18c99362
    • J
      arch/m68k/mm/sun3mmu.c: Eliminate NULL test and memset after alloc_bootmem · 93026e21
      Julia Lawall 提交于
      As noted by Akinobu Mita in patch b1fceac2,
      alloc_bootmem and related functions never return NULL and always return a
      zeroed region of memory.  Thus a NULL test or memset after calls to these
      functions is unnecessary.
      
      This was fixed using the following semantic patch.
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@
      expression E;
      statement S;
      @@
      
      E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...)
      .. when != E
      (
      - BUG_ON (E == NULL);
      |
      - if (E == NULL) S
      )
      
      @@
      expression E,E1;
      @@
      
      E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...)
      .. when != E
      - memset(E,0,E1);
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      93026e21
    • J
      arch/m68k/mm/motorola.c: Eliminate NULL test and memset after alloc_bootmem · 7b6b948f
      Julia Lawall 提交于
      As noted by Akinobu Mita in patch b1fceac2,
      alloc_bootmem and related functions never return NULL and always return a
      zeroed region of memory.  Thus a NULL test or memset after calls to these
      functions is unnecessary.
      
      This was fixed using the following semantic patch.
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@
      expression E;
      statement S;
      @@
      
      E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...)
      .. when != E
      (
      - BUG_ON (E == NULL);
      |
      - if (E == NULL) S
      )
      
      @@
      expression E,E1;
      @@
      
      E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...)
      .. when != E
      - memset(E,0,E1);
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7b6b948f
    • G
      m68k/Apollo: remove the unused APOLLO_ELPLUS option · 3fadd06e
      Geert Uytterhoeven 提交于
      Looking at older kernel sources the APOLLO_ELPLUS option was added
      somewhere during kernel 2.1, but even kernel 2.2.0 does not contain
      any driver that would be enabled through it...
      Reported-by: NRobert P. J. Day <rpjday@crashcourse.ca>
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3fadd06e
    • A
      m68k/Atari: remove the dead ATARI_SCC{,_DMA} options · 7ccaee5c
      Adrian Bunk 提交于
      It seems the driver was removed back in kernel 2.3 but the options were
      forgotten.
      Reported-by: NRobert P. J. Day <rpjday@crashcourse.ca>
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7ccaee5c