1. 12 2月, 2008 4 次提交
  2. 11 2月, 2008 13 次提交
  3. 10 2月, 2008 8 次提交
  4. 09 2月, 2008 2 次提交
  5. 08 2月, 2008 1 次提交
  6. 07 2月, 2008 3 次提交
  7. 06 2月, 2008 9 次提交
    • C
      virtio net: fix oops on interface-up · 370076d9
      Christian Borntraeger 提交于
      I got the following oops during interface ifup. Unfortunately its not
      easily reproducable so I cant say for sure that my fix fixes this
      problem, but I am confident and I think its correct anyway:
      
         <2>kernel BUG at /space/kvm/drivers/virtio/virtio_ring.c:234!
          <4>illegal operation: 0001 [#1] PREEMPT SMP
          <4>Modules linked in:
          <4>CPU: 0 Not tainted 2.6.24zlive-guest-07293-gf1ca1512-dirty #91
          <4>Process swapper (pid: 0, task: 0000000000800938, ksp: 000000000084ddb8)
          <4>Krnl PSW : 0404300180000000 0000000000466374 (vring_disable_cb+0x30/0x34)
          <4>           R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:3 PM:0 EA:3
          <4>Krnl GPRS: 0000000000000001 0000000000000001 0000000010003800 0000000000466344
          <4>           000000000e980900 00000000008848b0 000000000084e748 0000000000000000
          <4>           000000000087b300 0000000000001237 0000000000001237 000000000f85bdd8
          <4>           000000000e980920 00000000001137c0 0000000000464754 000000000f85bdd8
          <4>Krnl Code: 0000000000466368: e3b0b0700004        lg      %r11,112(%r11)
          <4>           000000000046636e: 07fe                bcr     15,%r14
          <4>           0000000000466370: a7f40001            brc     15,466372
          <4>          >0000000000466374: a7f4fff6            brc     15,466360
          <4>           0000000000466378: eb7ff0500024        stmg    %r7,%r15,80(%r15)
          <4>           000000000046637e: a7f13e00            tmll    %r15,15872
          <4>           0000000000466382: b90400ef            lgr     %r14,%r15
          <4>           0000000000466386: a7840001            brc     8,466388
          <4>Call Trace:
          <4>([<000201500f85c000>] 0x201500f85c000)
          <4> [<0000000000466556>] vring_interrupt+0x72/0x88
          <4> [<00000000004801a0>] kvm_extint_handler+0x34/0x44
          <4> [<000000000010d22c>] do_extint+0xbc/0xf8
          <4> [<0000000000113f98>] ext_no_vtime+0x16/0x1a
          <4> [<000000000010a182>] cpu_idle+0x216/0x238
          <4>([<000000000010a162>] cpu_idle+0x1f6/0x238)
          <4> [<0000000000568656>] rest_init+0xaa/0xb8
          <4> [<000000000084ee2c>] start_kernel+0x3fc/0x490
          <4> [<0000000000100020>] _stext+0x20/0x80
          <4>
          <4> <0>Kernel panic - not syncing: Fatal exception in interrupt
          <4>
      
      After looking at the code and the dump I think the following scenario
      happened: Ifup was running on cpu2 and the interrupt arrived on cpu0.
      Now virtnet_open on cpu 2 managed to execute napi_enable and disable_cb
      but did not execute rx_schedule. Meanwhile on cpu 0 skb_recv_done was
      called by vring_interrupt, executed netif_rx_schedule_prep, which
      succeeded and therefore called disable_cb. This triggered the BUG_ON,
      as interrupts were already disabled by cpu 2.
      
      I think the proper solution is to make the call to disable_cb depend on
      the atomic update of NAPI_STATE_SCHED by using netif_rx_schedule_prep
      in the same way as skb_recv_done.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      370076d9
    • A
      Fix PHY Lib support for gianfar and ucc_geth · 15cf6dde
      Andy Fleming 提交于
      The PHY Lib now uses mutexes instead of spin_locks.  ucc_geth
      and gianfar both grab the locks in their mdio_reset functions,
      so they need to use mutex_(un)lock instead.  This was not caught
      until someone tested it on an SMP system.
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      15cf6dde
    • A
      forcedeth: preserve registers · 4e84f9b1
      Ayaz Abdulla 提交于
      Various registers need to be preserved before resetting the device.
      Signed-off-by: NAyaz Abdulla <aabdulla@nvidia.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4e84f9b1
    • A
      forcedeth: phy status fix · eb798428
      Ayaz Abdulla 提交于
      The driver needs to ack only the phy status bits that it is currently
      handling and preserve the other bits for the other handlers. For
      example, when reading/writing from the phy, it should not clear the link
      change interrupt bit. This will cause a missing link change interrupt.
      Signed-off-by: NAyaz Abdulla <aabdulla@nvidia.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      eb798428
    • A
      forcedeth: restart tx/rx · b2976d23
      Ayaz Abdulla 提交于
      This patch fixes the issue where the transmitter and receiver must be
      restarted when applying new changes to certain registers.
      Signed-off-by: NAyaz Abdulla <aabdulla@nvidia.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b2976d23
    • A
      cpmac: convert to new Fixed PHY infrastructure · 8353ec7b
      Anton Vorontsov 提交于
      This patch converts cpmac to the new Fixed PHY infrastructure, though it
      doesn't fix all the problems with that driver. I didn't even bother to
      test this patch to compile, because cpmac driver is broken in several ways:
      
      1. This driver won't compile by itself because lack of its header describing
         platform data;
      2. It assumes that fixed PHYs should be created by the ethernet driver.
         It is wrong assumption: fixed PHYs creation is platform code authority,
         driver must blindly accept bus_id and phy_id platform data variables
         instead.
      
      Also, it seem that that driver doesn't have actual in-tree users, so
      nothing to fix further.
      
      The main purpose of that patch is to get rid of the following Kconfig
      warning:
      
      scripts/kconfig/conf -s arch/powerpc/Kconfig
      drivers/net/Kconfig:1713:warning: 'select' used by config symbol
      'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX'
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      8353ec7b
    • R
      [PPPOL2TP]: Label unused warning when CONFIG_PROC_FS is not set. · 731a0609
      Rami Rosen 提交于
      When CONFIG_PROC_FS is not set and CONFIG_PPPOL2TP is set,
      we have the following warning in build:
        drivers/net/pppol2tp.c: In function 'pppol2tp_init':
        drivers/net/pppol2tp.c:2472: warning: label
      'out_unregister_pppox_proto' defined but not used
      
      This patches fixes this warning by adding appropriate #ifdef.
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Acked-by: NJames Chapman <jchapman@katalix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      731a0609
    • M
      b43: Fix DMA for 30/32-bit DMA engines · b79caa68
      Michael Buesch 提交于
      This checks if the DMA address is bigger than what the controller can manage.
      It will reallocate the buffers in the GFP_DMA zone in that case.
      Signed-off-by: NMichael Buesch <mb@bu3sch.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b79caa68
    • A
      iwl3945-base.c: fix off-by-one errors · 221c80cf
      Adrian Bunk 提交于
      This patch fixes two off-by-one errors resulting in array overflows
      spotted by the Coverity checker.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      221c80cf