1. 25 3月, 2009 30 次提交
  2. 24 3月, 2009 6 次提交
  3. 23 3月, 2009 4 次提交
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc · b0dcb4a9
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc:
        powerpc/mm: Fix Respect _PAGE_COHERENT on classic ppc32 SW TLB load machines
      b0dcb4a9
    • K
      powerpc/mm: Fix Respect _PAGE_COHERENT on classic ppc32 SW TLB load machines · 345953cf
      Kumar Gala 提交于
      Grant picked up the wrong version of "Respect _PAGE_COHERENT on classic
      ppc32 SW" (commit a4bd6a93)
      
      It was missing the code to actually deal with the fixup of
      _PAGE_COHERENT based on the CPU feature.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      345953cf
    • A
      ucc_geth: Fix oops when using fixed-link support · 61fa9dcf
      Anton Vorontsov 提交于
      commit b1c4a9dd ("ucc_geth: Change
      uec phy id to the same format as gianfar's") introduced a regression
      in the ucc_geth driver that causes this oops when fixed-link is used:
      
      Unable to handle kernel paging request for data at address 0x00000000
      Faulting instruction address: 0xc0151270
      Oops: Kernel access of bad area, sig: 11 [#1]
      TMCUTU
      NIP: c0151270 LR: c0151270 CTR: c0017760
      REGS: cf81fa60 TRAP: 0300   Not tainted  (2.6.29-rc8)
      MSR: 00009032 <EE,ME,IR,DR>  CR: 24024042  XER: 20000000
      DAR: 00000000, DSISR: 20000000
      TASK = cf81cba0[1] 'swapper' THREAD: cf81e000
      GPR00: c0151270 cf81fb10 cf81cba0 00000000 c0272e20 c025f354 00001e80
      cf86b08c
      GPR08: d1068200 cffffb74 06000000 d106c200 42024042 10085148 0fffd000
      0ffc81a0
      GPR16: 00000001 00000001 00000000 007ffeb0 00000000 0000c000 cf83f36c
      cf83f000
      GPR24: 00000030 cf83f360 cf81fb20 00000000 d106c200 20000000 00001e80
      cf83f360
      NIP [c0151270] ucc_geth_open+0x330/0x1efc
      LR [c0151270] ucc_geth_open+0x330/0x1efc
      Call Trace:
      [cf81fb10] [c0151270] ucc_geth_open+0x330/0x1efc (unreliable)
      [cf81fba0] [c0187638] dev_open+0xbc/0x12c
      [cf81fbc0] [c0187e38] dev_change_flags+0x8c/0x1b0
      
      This patch fixes the issue by removing offending (and somewhat
      duplicate) code from init_phy() routine, and changes _probe()
      function to use uec_mdio_bus_name().
      
      Also, since we fully construct phy_bus_id in the _probe() routine,
      we no longer need ->phy_address and ->mdio_bus fields in
      ucc_geth_info structure.
      
      I wish the patch would be a bit shorter, but it seems like the only
      way to fix the issue in a sane way. Luckily, the patch has been
      tested with real PHYs and fixed-link, so no further regressions
      expected.
      Reported-by: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Tested-by: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      61fa9dcf
    • D
      dm9000: locking bugfix · e3162d38
      David Brownell 提交于
      This fixes a locking bug in the dm9000 driver.  It calls
      request_irq() without setting IRQF_DISABLED ... which is
      correct for handlers that support IRQ sharing, since that
      behavior is not guaranteed for shared IRQs.  However, its
      IRQ handler then wrongly assumes that IRQs are blocked.
      So the fix just uses the right spinlock primitives in the
      IRQ handler.
      
      NOTE:  this is a classic example of the type of bug which
      lockdep currently masks by forcibly setting IRQF_DISABLED
      on IRQ handlers that did not request that flag.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e3162d38