1. 09 11月, 2009 25 次提交
  2. 24 10月, 2009 3 次提交
  3. 21 10月, 2009 1 次提交
  4. 19 10月, 2009 2 次提交
  5. 17 10月, 2009 2 次提交
  6. 15 10月, 2009 7 次提交
    • R
      vmxnet: fix 2 build problems · 8f7e524c
      Randy Dunlap 提交于
      vmxnet3 uses in_dev* interfaces so it should depend on INET.
      Also fix so that the driver builds when CONFIG_PCI_MSI is disabled.
      
      vmxnet3_drv.c:(.text+0x2a88cb): undefined reference to `in_dev_finish_destroy'
      
      drivers/net/vmxnet3/vmxnet3_drv.c:1335: error: 'struct vmxnet3_intr' has no member named 'msix_entries'
      drivers/net/vmxnet3/vmxnet3_drv.c:1384: error: 'struct vmxnet3_intr' has no member named 'msix_entries'
      drivers/net/vmxnet3/vmxnet3_drv.c:2137: error: 'struct vmxnet3_intr' has no member named 'msix_entries'
      drivers/net/vmxnet3/vmxnet3_drv.c:2138: error: 'struct vmxnet3_intr' has no member named 'msix_entries'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NBhavesh davda <bhavesh@vmware.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8f7e524c
    • A
      tty: fix vt_compat_ioctl · 4b1fe779
      Andreas Schwab 提交于
      Call compat_unimap_ioctl, not do_unimap_ioctl.
      
      This was broken by commit e9216651.
      
      The compat_unimap_ioctl was originally called do_unimap_ioctl in
      fs/compat_ioctl.h which got moved to drivers/char/vt_ioctl.c.
      In that patch, the caller was not updated and consequently called
      the native handler.
      Signed-off-by: NAndreas Schwab <schwab@linux-m68k.org>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4b1fe779
    • L
      tty: use the new 'flush_delayed_work()' helper to do ldisc flush · 97ad5a03
      Linus Torvalds 提交于
      This way all flush_to_ldisc work is always done through the workqueues,
      and we thus have a single point of serialization.  It also means that we
      can avoid calling flush_to_ldisc() entirely if there was no delayed work
      pending.
      
      [ Side note: using workqueues and keventd as the single way to enter
        flush_to_ldisc() still doesn't absolutely guarantee that we can't have
        concurrency: keventd is multithreaded and has a thread per CPU, and
        while the WORK_STRUCT_PENDING bit guarantees a single work only being
        on the pending list once, the work might be both pending and _running_
        at the same time. Workqueues are not simple. ]
      
      This was also confirmed to fix bugzilla #14388, even without the earlier
      locking fix and cleanup (commit c8e33141: "tty: Make flush_to_ldisc()
      locking more robust").  So both commits fix the same bug differently,
      and either would have worked on its own.  But I'm committing them both
      since they are cleanups independent of each other.
      Reported-and-tested-by: NBoyan <btanastasov@yahoo.co.uk>
      Acked-by: NAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      97ad5a03
    • G
      net: add support for STMicroelectronics Ethernet controllers. · 47dd7a54
      Giuseppe Cavallaro 提交于
      This is the driver for the ST MAC 10/100/1000 on-chip Ethernet
      controllers (Synopsys IP blocks).
      
      Driver documentation:
       o http://stlinux.com/drupal/kernel/network/stmmac
      Revisions:
       o http://stlinux.com/drupal/kernel/network/stmmac-driver-revisions
      Performances:
       o http://stlinux.com/drupal/benchmarks/networking/stmmacSigned-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      47dd7a54
    • R
      net: ks8851_mll uses mii interfaces · 47a01a0c
      Randy Dunlap 提交于
      From: Randy Dunlap <randy.dunlap@oracle.com>
      
      ks8851_mll uses mii interfaces so it needs to select MII.
      
      ks8851_mll.c:(.text+0xf95ac): undefined reference to `generic_mii_ioctl'
      ks8851_mll.c:(.text+0xf96a0): undefined reference to `mii_ethtool_gset'
      ks8851_mll.c:(.text+0xf96fa): undefined reference to `mii_ethtool_sset'
      ks8851_mll.c:(.text+0xf9754): undefined reference to `mii_link_ok'
      ks8851_mll.c:(.text+0xf97ae): undefined reference to `mii_nway_restart'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      47a01a0c
    • J
      net/fec_mpc52xx: Fix kernel panic on FEC error · 37ccd92f
      John Bonesio 提交于
      The MDIO bus cannot be accessed at interrupt context, but on an FEC
      error, the fec_mpc52xx driver reset function also tries to reset the
      PHY.  Since the error is detected at IRQ context, and the PHY functions
      try to sleep, the kernel ends up panicking.
      
      Resetting the PHY on an FEC error isn't even necessary.  This patch
      solves the problem by removing the PHY reset entirely.
      Signed-off-by: NJohn Bonesio <bones@secretlab.ca>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      37ccd92f
    • L
      tty: Make flush_to_ldisc() locking more robust · c8e33141
      Linus Torvalds 提交于
      The locking logic in this function is extremely subtle, and it broke
      when we started doing potentially concurrent 'flush_to_ldisc()' calls in
      commit e043e42b ("pty: avoid forcing
      'low_latency' tty flag").
      
      The code in flush_to_ldisc() used to set 'tty->buf.head' to NULL, with
      the intention that this would then cause any other concurrent calls to
      not do anything (locking note: we have to drop the buf.lock over the
      call to ->receive_buf that can block, which is why we can have
      concurrency here at all in the first place).
      
      It also used to set the TTY_FLUSHING bit, which would then cause any
      concurrent 'tty_buffer_flush()' to not free all the tty buffers and
      clear 'tty->buf.tail'.  And with 'buf.head' being NULL, and 'buf.tail'
      being non-NULL, new data would never touch 'buf.head'.
      
      Does that sound a bit too subtle? It was.  If another concurrent call to
      'flush_to_ldisc()' were to come in, the NULL buf.head would indeed cause
      it to not process the buffer list, but it would still clear TTY_FLUSHING
      afterwards, making the buffer protection against 'tty_buffer_flush()' no
      longer work.
      
      So this clears it all up.  We depend purely on TTY_FLUSHING for handling
      re-entrancy, and stop playing games with the buffer list entirely.  In
      fact, the buffer list handling is now robust enough that we could
      probably stop doing the whole "protect against 'tty_buffer_flush()'"
      thing entirely.
      
      However, Alan also points out that we would probably be better off
      simplifying the locking even further, and just take the tty ldisc_mutex
      around all the buffer flushing calls.  That seems like a good idea, but
      in the meantime this is a conceptually minimal fix (with the patch
      itself being bigger than required just to clean the code up and make it
      readable).
      
      This fixes keyboard trouble under X:
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=14388Reported-and-tested-by: NFrédéric Meunier <fredlwm@gmail.com>
      Reported-and-tested-by: NBoyan <btanastasov@yahoo.co.uk>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Paul Fulghum <paulkf@microgate.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c8e33141