1. 03 2月, 2008 1 次提交
  2. 26 1月, 2008 1 次提交
  3. 25 1月, 2008 2 次提交
  4. 04 1月, 2008 2 次提交
    • M
      [ISDN]: i4l: Fix DLE handling for i4l-audio · 7fde4d77
      Matthias Goebl 提交于
      The DLE handling in i4l-audio seems to be broken.
      
      It produces spurious DLEs so asterisk 1.2.24 with chan_modem_i4l
      gets irritated, the error message is:
      "chan_modem_i4l.c:450 i4l_read: Value of escape is ^ (17)".
      -> There shouldn't be a DLE-^.
      If a spurious DLE-ETX occurs, the audio connection even dies.
      I use a "AVM Fritz!PCI" isdn card.
      
      I found two issues that only appear if ISDN_AUDIO_SKB_DLECOUNT(skb) > 0:
      - The loop in isdn_tty.c:isdn_tty_try_read() doesn't escape a DLE if it's
        the last character.
      
      - The loop in isdn_common.c:isdn_readbchan_tty() doesn't copy its characters,
        it only remembers the last one ("last = *p;").
      
        Compare it with the loop in isdn_common.c:isdn_readbchan(), that *does*
        copy them ("*cp++ = *p;") correctly.
        The special handling of the "last" character made it more difficult.
        I compared it to linux-2.4.19: There was no "last"-handling and both loops
        did escape and copy all characters correctly.
      Signed-off-by: NMatthias Goebl <matthias.goebl@goebl.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7fde4d77
    • M
      [ISDN] i4l: 'NO CARRIER' message lost after ldisc flush · 00409bb0
      Matthias Goebl 提交于
      The ISDN tty layer doesn't produce a 'NO CARRIER' message after hangup.
      
      I suppose it broke when tty_buffer_flush() has been added to
      tty_ldisc_flush() in the commit below.
      
      For isdn_tty_modem_result(RESULT_NO_CARRIER..) the
      message inserted via isdn_tty_at_cout() -> tty_insert_flip_char()
      is flushed immediately by tty_ldisc_flush() -> tty_buffer_flush().
      More annoyingly, the audio abort sequence DLE-ETX is also lost.
      
      This patch fixes only active audio connections, because I assume that nobody
      changes the line discipline for audio.
      
      For non-audio connections the problem remains.
      Maybe we can remove the tty_ldisc_flush() in isdn_tty_modem_result()
      at all because it's done at tty_close?
      
      On Mon, May 07, 2007 at 04:05:57PM -0500, Paul Fulghum wrote:
      > Flush the tty flip buffer when the line discipline
      > input queue is flushed, including the user call
      > tcflush(TCIFLUSH/TCIOFLUSH). This prevents unexpected
      > stale data after a user application calls tcflush().
      >
      > Cc: Alan Cox <alan@lxorguk.org.uk>
      > Cc: Antonino Ingargiola <tritemio@gmail.com>
      > Signed-off-by: Paul Fulghum <paulkf@microgate.com>
      >
      > --- a/drivers/char/tty_io.c	2007-05-04 05:46:55.000000000 -0500
      > +++ b/drivers/char/tty_io.c	2007-05-05 03:23:46.000000000 -0500
      > @@ -1240,6 +1263,7 @@ void tty_ldisc_flush(struct tty_struct *
      >  			ld->flush_buffer(tty);
      >  		tty_ldisc_deref(ld);
      >  	}
      > +	tty_buffer_flush(tty);
      [..]
      Signed-off-by: NMatthias Goebl <matthias.goebl@goebl.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      00409bb0
  5. 04 12月, 2007 1 次提交
  6. 30 11月, 2007 1 次提交
    • I
      isdn: bootup crash fix · 9fc89c2d
      Ingo Molnar 提交于
      got this HiSax bootup crash on a "make randconfig" bzImage bootup:
      
       Calling initcall 0xc0bb1320: HiSax_init+0x0/0x380()
       HiSax: Linux Driver for passive ISDN cards
       HiSax: Version 3.5 (kernel)
       HiSax: Layer1 Revision 2.46.2.5
       HiSax: Layer2 Revision 2.30.2.4
       HiSax: TeiMgr Revision 2.20.2.3
       HiSax: Layer3 Revision 2.22.2.3
       HiSax: LinkLayer Revision 2.59.2.4
       HiSax: Total 1 card defined
       HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
       HiSax: HFC-S driver Rev. 1.10.2.4
       HFCS: defined at 0x500 IRQ 5 HZ 250
       Teles 16.3c: IRQ 5 count 0
       HFCS: resetting card
       Teles 16.3c: IRQ 5 count 0
       Teles 16.3c: IRQ(5) getting no interrupts during init 1
       HFCS: resetting card
       ------------[ cut here ]------------
       kernel BUG at include/linux/timer.h:145!
       invalid opcode: 0000 [#1] PREEMPT DEBUG_PAGEALLOC
       Modules linked in:
      
       Pid: 1, comm: swapper Not tainted (2.6.24-rc3 #2045)
       EIP: 0060:[<c063afbf>] EFLAGS: 00010286 CPU: 0
       EIP is at hfcs_card_msg+0x15f/0x180
       EAX: c0cf2e5c EBX: 000000f2 ECX: 00000000 EDX: ffff1193
       ESI: f76e8000 EDI: f76e8000 EBP: f7c23ec4 ESP: f7c23eac
        DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
       Process swapper (pid: 1, ti=f7c22000 task=f7c0e000 task.ti=f7c22000)
       Stack: 00000000 f7c23ec4 c011703b 00000002 f76e8000 00000000 f7c23ef8 c060c3e5
              c0a7c9c0 c0a315dc 00000005 00000001 00000000 f7c23f34 00000000 c0b5c9c0
              f7c23f34 00000000 c0f5a8e0 f7c23f80 c0bb154f 00000000 00000001 c0a9b5b9
       Call Trace:
        [<c010339a>] show_trace_log_lvl+0x1a/0x40
        [<c0103469>] show_stack_log_lvl+0xa9/0xe0
        [<c010355f>] show_registers+0xbf/0x200
        [<c01037a4>] die+0x104/0x220
        [<c0103943>] do_trap+0x83/0xc0
        [<c0103ca8>] do_invalid_op+0x88/0xa0
        [<c083621a>] error_code+0x6a/0x70
        [<c060c3e5>] checkcard+0x4a5/0x620
        [<c0bb154f>] HiSax_init+0x22f/0x380
        [<c0b867b7>] kernel_init+0x97/0x2a0
        [<c0102f87>] kernel_thread_helper+0x7/0x20
        =======================
       Code: e8 43 ae ff 8b 57 3c 85 d2 0f 84 ef fe ff ff b8 a0 99 ad c0 b9 02 00 00 00 e8 ce 11 ae ff 83 c4 0c b8 00 00 00 00 5b 5e 5f c9 c3 <0f> 0b eb fe 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
       EIP: [<c063afbf>] hfcs_card_msg+0x15f/0x180 SS:ESP 0068:f7c23eac
       Kernel panic - not syncing: Attempted to kill init!
      
      The box has no HiSax card installed.
      
      the reason for the crash is add_timer() done on an already running
      timer. This happens because for some reason CARD_INIT is called twice.
      
      this patch works this problem around by using mod_timer() - this gets
      a booting system - but it would be nice to figure out why CARD_INIT
      is done twice.
      
      the ISDN config section (generated via make randconfig) is this:
      
      #
      # ISDN feature submodules
      #
      # CONFIG_ISDN_DRV_LOOP is not set
      CONFIG_ISDN_DIVERSION=y
      
      #
      # ISDN4Linux hardware drivers
      #
      
      #
      # Passive cards
      #
      CONFIG_ISDN_DRV_HISAX=y
      
      #
      # D-channel protocol features
      #
      CONFIG_HISAX_EURO=y
      CONFIG_DE_AOC=y
      # CONFIG_HISAX_NO_SENDCOMPLETE is not set
      # CONFIG_HISAX_NO_LLC is not set
      # CONFIG_HISAX_NO_KEYPAD is not set
      CONFIG_HISAX_1TR6=y
      CONFIG_HISAX_NI1=y
      CONFIG_HISAX_MAX_CARDS=8
      
      #
      # HiSax supported cards
      #
      CONFIG_HISAX_16_0=y
      # CONFIG_HISAX_16_3 is not set
      # CONFIG_HISAX_TELESPCI is not set
      CONFIG_HISAX_S0BOX=y
      # CONFIG_HISAX_AVM_A1 is not set
      CONFIG_HISAX_FRITZPCI=y
      CONFIG_HISAX_AVM_A1_PCMCIA=y
      CONFIG_HISAX_ELSA=y
      CONFIG_HISAX_IX1MICROR2=y
      CONFIG_HISAX_DIEHLDIVA=y
      # CONFIG_HISAX_ASUSCOM is not set
      # CONFIG_HISAX_TELEINT is not set
      CONFIG_HISAX_HFCS=y
      # CONFIG_HISAX_SEDLBAUER is not set
      CONFIG_HISAX_SPORTSTER=y
      # CONFIG_HISAX_MIC is not set
      # CONFIG_HISAX_NETJET is not set
      # CONFIG_HISAX_NETJET_U is not set
      # CONFIG_HISAX_NICCY is not set
      # CONFIG_HISAX_ISURF is not set
      # CONFIG_HISAX_HSTSAPHIR is not set
      # CONFIG_HISAX_BKM_A4T is not set
      # CONFIG_HISAX_SCT_QUADRO is not set
      # CONFIG_HISAX_GAZEL is not set
      # CONFIG_HISAX_HFC_PCI is not set
      # CONFIG_HISAX_W6692 is not set
      # CONFIG_HISAX_HFC_SX is not set
      # CONFIG_HISAX_DEBUG is not set
      
      #
      # HiSax PCMCIA card service modules
      #
      
      #
      # HiSax sub driver modules
      #
      CONFIG_HISAX_ST5481=y
      CONFIG_HISAX_HFCUSB=y
      # CONFIG_HISAX_HFC4S8S is not set
      CONFIG_HISAX_FRITZ_PCIPNP=y
      CONFIG_HISAX_HDLC=y
      
      #
      # Active cards
      #
      CONFIG_ISDN_DRV_ICN=m
      CONFIG_ISDN_DRV_PCBIT=m
      CONFIG_ISDN_DRV_SC=y
      # CONFIG_ISDN_DRV_ACT2000 is not set
      CONFIG_HYSDN=m
      # CONFIG_ISDN_DRV_GIGASET is not set
      # CONFIG_ISDN_CAPI is not set
      CONFIG_PHONE=y
      CONFIG_PHONE_IXJ=m
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Karsten Keil <kkeil@suse.de>
      Cc: Kai Germaschewski <kai@germaschewski.name>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9fc89c2d
  7. 27 11月, 2007 1 次提交
  8. 15 11月, 2007 2 次提交
  9. 06 11月, 2007 2 次提交
  10. 29 10月, 2007 1 次提交
  11. 24 10月, 2007 3 次提交
  12. 20 10月, 2007 6 次提交
  13. 19 10月, 2007 3 次提交
    • J
      Add missing newlines to some uses of dev_<level> messages · 898eb71c
      Joe Perches 提交于
      Found these while looking at printk uses.
      
      Add missing newlines to dev_<level> uses
      Add missing KERN_<level> prefixes to multiline dev_<level>s
      Fixed a wierd->weird spelling typo
      Added a newline to a printk
      Signed-off-by: NJoe Perches <joe@perches.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Mark M. Hoffman <mhoffman@lightlink.com>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: Tilman Schmidt <tilman@imap.cc>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Stephen Hemminger <shemminger@linux-foundation.org>
      Cc: Greg KH <greg@kroah.com>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: James Smart <James.Smart@Emulex.Com>
      Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Jaroslav Kysela <perex@suse.cz>
      Cc: Takashi Iwai <tiwai@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      898eb71c
    • K
      i4l: Fix random hard freeze with AVM c4 card · 1ccfd633
      Karsten Keil 提交于
      The patch
      - Includes the call to capilib_data_b3_req in the spinlock. This routine
        in turn calls the offending mq_enqueue routine that triggered the
        freeze if not locked.  This should also fix other indicators of
        incosistent capilib_msgidqueue list, that trigger messages like:
        Oct  5 03:05:57 BERL0 kernel: kcapi: msgid 3019 ncci 0x30301 not on queue
        that we saw several times a day (usually several in a row).
      - Fixes all occurrences of c4_dispatch_tx to be called with active
        spinlock, there were some instances where no lock was active. Mostly
        these are in very infrequently called routines, so the additional
        performance penalty is minimal.
      Signed-off-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NRainer Brestan <rainer.brestan@frequentis.com>
      Signed-off-by: NRalf Schlatterbeck <rsc@runtux.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1ccfd633
    • K
      i4l: fix random freezes with AVM B1 drivers · 9713d9e6
      Karsten Keil 提交于
      This fix the same issue which was debbuged for the C4 controller for the B1
      versions.
      
      The capilib_ function modify or traverse a linked list without locking.
      
      This patch extends the existing locking to the calls of these function to
      prevent access to a list which is in the middle of a modification.
      Signed-off-by: NKarsten Keil <kkeil@suse.de>
      C: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9713d9e6
  14. 17 10月, 2007 4 次提交
  15. 16 10月, 2007 2 次提交
  16. 15 10月, 2007 3 次提交
  17. 14 10月, 2007 1 次提交
  18. 12 10月, 2007 4 次提交