1. 18 6月, 2011 1 次提交
    • P
      gigaset: call module_put before restart of if_open() · 2f9381e9
      Pavel Shved 提交于
      if_open() calls try_module_get(), and after an attempt to lock a mutex
      the if_open() function may return -ERESTARTSYS without
      putting the module.  Then, when if_open() is executed again,
      try_module_get() is called making the reference counter of THIS_MODULE
      greater than one at successful exit from if_open().  The if_close()
      function puts the module only once, and as a result it can't be
      unloaded.
      
      This patch adds module_put call before the return from if_open().
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: NPavel Shved <shved@ispras.ru>
      Signed-off-by: NDavid S. Miller <davem@conan.davemloft.net>
      2f9381e9
  2. 12 6月, 2011 1 次提交
  3. 04 6月, 2011 1 次提交
    • L
      Revert "tty: make receive_buf() return the amout of bytes received" · 55db4c64
      Linus Torvalds 提交于
      This reverts commit b1c43f82.
      
      It was broken in so many ways, and results in random odd pty issues.
      
      It re-introduced the buggy schedule_work() in flush_to_ldisc() that can
      cause endless work-loops (see commit a5660b41: "tty: fix endless
      work loop when the buffer fills up").
      
      It also used an "unsigned int" return value fo the ->receive_buf()
      function, but then made multiple functions return a negative error code,
      and didn't actually check for the error in the caller.
      
      And it didn't actually work at all.  BenH bisected down odd tty behavior
      to it:
        "It looks like the patch is causing some major malfunctions of the X
         server for me, possibly related to PTYs.  For example, cat'ing a
         large file in a gnome terminal hangs the kernel for -minutes- in a
         loop of what looks like flush_to_ldisc/workqueue code, (some ftrace
         data in the quoted bits further down).
      
         ...
      
         Some more data: It -looks- like what happens is that the
         flush_to_ldisc work queue entry constantly re-queues itself (because
         the PTY is full ?) and the workqueue thread will basically loop
         forver calling it without ever scheduling, thus starving the consumer
         process that could have emptied the PTY."
      
      which is pretty much exactly the problem we fixed in a5660b41.
      
      Milton Miller pointed out the 'unsigned int' issue.
      Reported-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reported-by: NMilton Miller <miltonm@bga.com>
      Cc: Stefan Bigler <stefan.bigler@keymile.com>
      Cc: Toby Gray <toby.gray@realvnc.com>
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      55db4c64
  4. 26 5月, 2011 2 次提交
    • M
      isdn/diva: Drop __TIME__ usage · 3df3f2bf
      Michal Marek 提交于
      The kernel already prints its build timestamp during boot, no need to
      repeat it in random drivers and produce different object files each
      time.
      
      Cc: Armin Schindler <mac@melware.de>
      Cc: netdev@vger.kernel.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      3df3f2bf
    • P
      isdn: netjet - blacklist Digium TDM400P · 367bbf2a
      Prarit Bhargava 提交于
      [2nd try ... 1st attempt didn't make it to netdev mailing list]
      
      A quick google search reveals that people with this card are blacklisting it
      in the initramfs and in the module blacklist based on a statement that it
      is unsupported. Since the older Digium is also unsupported I'm pretty
      confident that this newer card is also not supported.
      
      lspci -xxx -vv shows
      
      04:07.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
              Subsystem: Device b100:0003
      P.
      
      ----8<----
      The Asterisk Voice Card, DIGIUM TDM400P is unsupported by the netjet driver.
      Blacklist it like the Digium X100P/X101P card.
      Signed-off-by: NPrarit Bhargava <prarit@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      367bbf2a
  5. 20 5月, 2011 1 次提交
  6. 14 5月, 2011 1 次提交
  7. 06 5月, 2011 1 次提交
  8. 23 4月, 2011 1 次提交
  9. 18 4月, 2011 17 次提交
  10. 07 4月, 2011 1 次提交
  11. 04 4月, 2011 1 次提交
  12. 31 3月, 2011 2 次提交
  13. 17 3月, 2011 1 次提交
  14. 01 3月, 2011 1 次提交
  15. 18 2月, 2011 3 次提交
  16. 16 2月, 2011 1 次提交
  17. 15 2月, 2011 1 次提交
  18. 14 2月, 2011 1 次提交
  19. 10 2月, 2011 1 次提交
  20. 02 2月, 2011 1 次提交
    • S
      isdn: icn: Fix potentially wrong string handling · a29ae23f
      Stefan Weil 提交于
      This warning was reported by cppcheck:
      drivers/isdn/icn/icn.c:1641: error: Dangerous usage of 'rev' (strncpy doesn't always 0-terminate it)
      
      If strncpy copied 20 bytes, the destination string rev was not terminated.
      The patch adds one more byte to rev and makes sure that this byte is
      always 0.
      
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: netdev@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NStefan Weil <weil@mail.berlios.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a29ae23f