1. 22 7月, 2008 26 次提交
  2. 21 7月, 2008 14 次提交
    • 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
    • I
      2e2dcc76
    • I
      Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups',... · acee709c
      Ingo Molnar 提交于
      Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core', 'x86/cpu', 'x86/fixmap', 'x86/gart', 'x86/kprobes', 'x86/memtest', 'x86/modules', 'x86/nmi', 'x86/pat', 'x86/reboot', 'x86/setup', 'x86/step', 'x86/unify-pci', 'x86/uv', 'x86/xen' and 'xen-64bit' into x86/for-linus
      acee709c
    • I
      Merge branch 'linus' into xen-64bit · e66d90fb
      Ingo Molnar 提交于
      e66d90fb
    • I
      Merge branch 'linus' into x86/paravirt-spinlocks · 1c29dd9a
      Ingo Molnar 提交于
      1c29dd9a
    • Y
      x86: remove extra calling to get ext cpuid level · 7edf8891
      Yinghai Lu 提交于
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7edf8891
    • Y
      x86: use setup_clear_cpu_cap() when disabling the lapic · 9175fc06
      Yinghai Lu 提交于
      ... so don't need to call clear_cpu_cap again in early_identify_cpu,
      and could use cleared_cpu_caps like other places.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9175fc06
    • M
      dm crypt: add merge · d41e26b9
      Milan Broz 提交于
      This patch implements biovec merge function for crypt target.
      
      If the underlying device has merge function defined, call it.
      If not, keep precomputed value.
      Signed-off-by: NMilan Broz <mbroz@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      d41e26b9
    • M
      dm table: remove merge_bvec sector restriction · 9980c638
      Milan Broz 提交于
      Remove max_sector restriction - merge function replaced it.
      Signed-off-by: NMilan Broz <mbroz@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      9980c638
    • M
      dm: linear add merge · 7bc3447b
      Milan Broz 提交于
      This patch implements biovec merge function for linear target.
      
      If the underlying device has merge function defined, call it.
      If not, keep precomputed value.
      Signed-off-by: NMilan Broz <mbroz@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      7bc3447b
    • M
      dm: introduce merge_bvec_fn · f6fccb12
      Milan Broz 提交于
      Introduce a bvec merge function for device mapper devices
      for dynamic size restrictions.
      
      This code ensures the requested biovec lies within a single
      target and then calls a target-specific function to check
      against any constraints imposed by underlying devices.
      Signed-off-by: NMilan Broz <mbroz@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      f6fccb12