07 Aug, 2006

1 commit


06 Aug, 2006

1 commit

  • * MODE_MASK is unused in eicon driver.
    * Conflicts with a ptrace stuff on arm.

    drivers/isdn/hardware/eicon/divasync.h:259:1: warning: "MODE_MASK" redefined
    include2/asm/ptrace.h:48:1: warning: this is the location of the previous definition

    Signed-off-by: Alexey Dobriyan
    Acked-by: Karsten Keil
    Acked-by: Armin Schindler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

20 Jul, 2006

1 commit

  • Convert selection of serial line header compression to use CONFIG_SLHC
    rather than makefile ifeq uglyness. This makes it easier to select
    the SLHC module from other code.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Ralf Baechle
     

11 Jul, 2006

2 commits


03 Jul, 2006

1 commit


01 Jul, 2006

1 commit


30 Jun, 2006

5 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6: (22 commits)
    [PATCH] devfs: Remove it from the feature_removal.txt file
    [PATCH] devfs: Last little devfs cleanups throughout the kernel tree.
    [PATCH] devfs: Rename TTY_DRIVER_NO_DEVFS to TTY_DRIVER_DYNAMIC_DEV
    [PATCH] devfs: Remove the tty_driver devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the line_driver devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the videodevice devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the gendisk devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the miscdevice devfs_name field as it's no longer needed
    [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree
    [PATCH] devfs: Remove devfs_remove() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_cdev() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_bdev() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_symlink() function from the kernel tree
    [PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree
    [PATCH] devfs: Remove devfs_*_tape() functions from the kernel tree
    [PATCH] devfs: Remove devfs support from the sound subsystem
    [PATCH] devfs: Remove devfs support from the ide subsystem.
    [PATCH] devfs: Remove devfs support from the serial subsystem
    [PATCH] devfs: Remove devfs from the init code
    [PATCH] devfs: Remove devfs from the partition code
    ...

    Linus Torvalds
     
  • If all drivers go away before all ISDN network interfaces are closed we got
    a OOps on removing interfaces, this patch avoid it.

    Signed-off-by: Karsten Keil
    Signed-off-by: Linus Torvalds

    Karsten Keil
     
  • most current laptops do not work without allowing shared cardbus IRQs.
    This patch enables IRQ sharing, so these cards work again.
    This was tested with shared and none shared cardbus IRQs on different laptops
    without problems.

    Signed-off-by: Karsten Keil
    Signed-off-by: Linus Torvalds

    Karsten Keil
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:
    [PATCH] i386: export memory more than 4G through /proc/iomem
    [PATCH] 64bit Resource: finally enable 64bit resource sizes
    [PATCH] 64bit Resource: convert a few remaining drivers to use resource_size_t where needed
    [PATCH] 64bit resource: change pnp core to use resource_size_t
    [PATCH] 64bit resource: change pci core and arch code to use resource_size_t
    [PATCH] 64bit resource: change resource core to use resource_size_t
    [PATCH] 64bit resource: introduce resource_size_t for the start and end of struct resource
    [PATCH] 64bit resource: fix up printks for resources in misc drivers
    [PATCH] 64bit resource: fix up printks for resources in arch and core code
    [PATCH] 64bit resource: fix up printks for resources in pcmcia drivers
    [PATCH] 64bit resource: fix up printks for resources in video drivers
    [PATCH] 64bit resource: fix up printks for resources in ide drivers
    [PATCH] 64bit resource: fix up printks for resources in mtd drivers
    [PATCH] 64bit resource: fix up printks for resources in pci core and hotplug drivers
    [PATCH] 64bit resource: fix up printks for resources in networks drivers
    [PATCH] 64bit resource: fix up printks for resources in sound drivers
    [PATCH] 64bit resource: C99 changes for struct resource declarations

    Fixed up trivial conflict in drivers/ide/pci/cmd64x.c (the printk that
    was changed by the 64-bit resources had been deleted in the meantime ;)

    Linus Torvalds
     
  • Coverity spotted this leak (id #613), when we are not configured, we return
    without freeing the allocated skb.

    Signed-off-by: Eric Sesterhenn
    Acked-by: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     

28 Jun, 2006

4 commits


27 Jun, 2006

12 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    typo fixes
    Clean up 'inline is not at beginning' warnings for usb storage
    Storage class should be first
    i386: Trivial typo fixes
    ixj: make ixj_set_tone_off() static
    spelling fixes
    fix paniced->panicked typos
    Spelling fixes for Documentation/atomic_ops.txt
    move acknowledgment for Mark Adler to CREDITS
    remove the bouncing email address of David Campbell

    Linus Torvalds
     
  • The changes in the tty handling contain a bug while accessing
    the last byte in the skb. Since special sequence for control of
    DTMF and FAX via ttyI* devices handled via this path, these services
    do not work anymore.

    Signed-off-by: Karsten Keil
    Signed-off-by: Linus Torvalds

    Karsten Keil
     
  • I've always found this flag confusing. Now that devfs is no longer around, it
    has been renamed, and the documentation for when this flag should be used has
    been updated.

    Also fixes all drivers that use this flag.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Also fixes all drivers that set this field.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Also fixes up all files that #include it.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Removes the devfs_remove() function and all callers of it.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Removes the devfs_mk_cdev() function and all callers of it.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • The following patch to the common part of the Siemens Gigaset driver
    prevents it from trying to send the +++ break sequence if the device has
    been disconnected, and removes a couple of assignments which didn't have
    any effect.

    Signed-off-by: Tilman Schmidt
    Acked-by: Hansjoerg Lipp
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     
  • The following patch to the Siemens Gigaset base driver adds graceful
    recovery for some frequently encountered error conditions, by retrying
    failed control requests (eg. stalled control pipe), and by closing and
    reopening the AT command channel when it appears to be stuck.

    Signed-off-by: Tilman Schmidt
    Acked-by: Hansjoerg Lipp
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     
  • This fixes coverity bug #517.

    Since IESIZE is greater than IESIZE_NI1 we might run past the end of
    ielist_ni1. This fixes it by using the proper IESIZE_NI1 define.

    Signed-off-by: Eric Sesterhenn
    Acked-by: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • I am getting more or less reproducible crashes from the CAPI subsystem
    using the fcdsl driver:

    Unable to handle kernel NULL pointer dereference at virtual address 00000010
    printing eip:
    c39bbca4
    *pde = 00000000
    Oops: 0000 [#1]
    Modules linked in: netconsole capi capifs 3c59x mii fcdsl kernelcapi uhci_hcd usbcore ide_cd cdrom
    CPU: 0
    EIP: 0060:[] Tainted: P VLI
    EFLAGS: 00010202 (2.6.16.11 #3)
    EIP is at handle_minor_send+0x17a/0x241 [capi]
    eax: c24abbc0 ebx: c0b4c980 ecx: 00000010 edx: 00000010
    esi: c1679140 edi: c2783016 ebp: 0000c28d esp: c0327e24
    ds: 007b es: 007b ss: 0068
    Process swapper (pid: 0, threadinfo=c0326000 task=c02e1300)
    Stack: 000005b4 c1679180 00000000 c28d0000 c1ce04e0 c2f69654 c221604e c1679140
    c39bc19a 00000038 c20c0400 c075c560 c1f2f800 00000000 c01dc9b5 c1e96a40
    c075c560 c2ed64c0 c1e96a40 c01dcd3b c2fb94e8 c075c560 c0327f00 c1e96a40
    Call Trace:
    [] capinc_tty_write+0xda/0xf3 [capi]
    [] ppp_sync_push+0x52/0xfe
    [] ppp_sync_send+0x1f5/0x204
    [] ppp_push+0x3e/0x9c
    [] ppp_xmit_process+0x422/0x4cc
    [] ppp_start_xmit+0x1c1/0x1f6
    [] qdisc_restart+0xa7/0x135
    [] dev_queue_xmit+0xba/0x19e
    [] ip_output+0x1eb/0x236
    [] ip_forward+0x1c1/0x21a
    [] ip_rcv+0x38e/0x3ea
    [] netif_receive_skb+0x166/0x195
    [] process_backlog+0x6d/0xd2
    [] net_rx_action+0x6a/0xff
    [] __do_softirq+0x35/0x7d
    [] do_softirq+0x22/0x26
    [] do_IRQ+0x1e/0x25
    [] common_interrupt+0x1a/0x20
    [] default_idle+0x2b/0x53
    [] cpu_idle+0x39/0x4e
    [] start_kernel+0x20b/0x20d
    Code: c0 e8 b3 b6 77 fc 85 c0 75 10 68 d8 c8 9b c3 e8 82 3d 75 fc 8b 43 60 5a eb 50 8d 56 50 c7 00 00 00 00 00 66 89 68 04 eb 02 89
    ca 0a 85 c9 75 f8 89 02 89 da ff 46 54 8b 46 10 e8 30 79 fd ff
    Kernel panic - not syncing: Fatal exception in interrupt

    That oops took me to the "ackqueue" implementation in capi.c. The crash
    occured in capincci_add_ack() (auto-inlined by the compiler).

    I read the code a bit and finally decided to replace the custom linked list
    implementation (struct capiminor->ackqueue) by a struct list_head. That
    did not solve the crash, but produced the following interresting oops:

    Unable to handle kernel paging request at virtual address 00200200
    printing eip:
    c39bb1f5
    *pde = 00000000
    Oops: 0002 [#1]
    Modules linked in: netconsole capi capifs 3c59x mii fcdsl kernelcapi uhci_hcd usbcore ide_cd cdrom
    CPU: 0
    EIP: 0060:[] Tainted: P VLI
    EFLAGS: 00010246 (2.6.16.11 #3)
    EIP is at capiminor_del_ack+0x18/0x49 [capi]
    eax: 00200200 ebx: c18d41a0 ecx: c1385620 edx: 00100100
    esi: 0000d147 edi: 00001103 ebp: 0000d147 esp: c1093f3c
    ds: 007b es: 007b ss: 0068
    Process events/0 (pid: 3, threadinfo=c1092000 task=c1089030)
    Stack: c2a17580 c18d41a0 c39bbd16 00000038 c18d41e0 00000000 d147c640 c29e0b68
    c29e0b90 00000212 c29e0b68 c39932b2 c29e0bb0 c10736a0 c0119ef0 c399326c
    c10736a8 c10736a0 c10736b0 c0119f93 c011a06e 00000001 00000000 00000000
    Call Trace:
    [] handle_minor_send+0x1af/0x241 [capi]
    [] recv_handler+0x46/0x5f [kernelcapi]
    [] run_workqueue+0x5e/0x8d
    [] recv_handler+0x0/0x5f [kernelcapi]
    [] worker_thread+0x0/0x10b
    [] worker_thread+0xdb/0x10b
    [] default_wake_function+0x0/0xc
    [] kthread+0x90/0xbc
    [] kthread+0x0/0xbc
    [] kernel_thread_helper+0x5/0xb
    Code: 7e 02 89 ee 89 f0 5a f7 d0 c1 f8 1f 5b 21 f0 5e 5f 5d c3 56 53 8b 48 50 89 d6 89 c3 8b 11 eb 2f 66 39 71 08 75 25 8b 41 04 8b 11 10 89 42 04 c7 01 00 01 10 00 89 c8 c7 41 04 00 02 20 00 e8

    The interresting part of it is the "virtual address 00200200", which is
    LIST_POISON2. I thought about some race condition, but as this is an UP
    system, it leads to questions on how it can happen. If we look at EFLAGS:
    00010202, we see that interrupts are enabled at the time of the crash
    (eflags & 0x200).

    Finally, I don't understand all the capi code, but I think that
    handle_minor_send() is racing somehow against capi_recv_message(), which
    call both capiminor_del_ack(). So if an IRQ occurs in the middle of
    capiminor_del_ack() and another instance of it is invoked, it leads to
    linked list corruption.

    I came up with the following patch. With this, I could not reproduce the
    crash anymore. Clearly, this is not the correct fix for the issue. As this
    seems to be some locking issue, there might be more locking issues in that
    code. For example, doesn't the whole struct capiminor have to be locked
    somehow?

    Cc: Carsten Paeth
    Cc: Kai Germaschewski
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • acquired (aquired)
    contiguous (contigious)
    successful (succesful, succesfull)
    surprise (suprise)
    whether (weather)
    some other misspellings

    Signed-off-by: Andreas Mohr
    Signed-off-by: Adrian Bunk

    Andreas Mohr
     

23 Jun, 2006

3 commits

  • isdn_writebuf_stub() forgets to detect memory allocation and uaccess errors.
    And when that's fixed, if a error happens the caller will just keep on
    looping.

    So change the caller to detect the error, and to return it.

    Signed-off-by: Jesper Juhl
    Cc: Karsten Keil
    Signed-off-by: Tilman Schmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • Fix leak of `rcvmsg' in sc_ioctl().

    There are two returns in the switch in sc_ioctl (the SCIOCSTART case) that
    may leak `rcvmsg'. This patch fixes that by adding a kfree() call at the
    beginning of that case.

    Bug found by the coverity checker as #1098

    Eric Sesterhenn send me a patch to fix the leak(s) by adding 2 kfree()
    calls before the returns, I changed that into just a single call at the
    beginning.

    Signed-off-by: Jesper Juhl
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • Extend the get_sb() filesystem operation to take an extra argument that
    permits the VFS to pass in the target vfsmount that defines the mountpoint.

    The filesystem is then required to manually set the superblock and root dentry
    pointers. For most filesystems, this should be done with simple_set_mnt()
    which will set the superblock pointer and then set the root dentry to the
    superblock's s_root (as per the old default behaviour).

    The get_sb() op now returns an integer as there's now no need to return the
    superblock pointer.

    This patch permits a superblock to be implicitly shared amongst several mount
    points, such as can be done with NFS to avoid potential inode aliasing. In
    such a case, simple_set_mnt() would not be called, and instead the mnt_root
    and mnt_sb would be set directly.

    The patch also makes the following changes:

    (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount
    pointer argument and return an integer, so most filesystems have to change
    very little.

    (*) If one of the convenience function is not used, then get_sb() should
    normally call simple_set_mnt() to instantiate the vfsmount. This will
    always return 0, and so can be tail-called from get_sb().

    (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the
    dcache upon superblock destruction rather than shrink_dcache_anon().

    This is required because the superblock may now have multiple trees that
    aren't actually bound to s_root, but that still need to be cleaned up. The
    currently called functions assume that the whole tree is rooted at s_root,
    and that anonymous dentries are not the roots of trees which results in
    dentries being left unculled.

    However, with the way NFS superblock sharing are currently set to be
    implemented, these assumptions are violated: the root of the filesystem is
    simply a dummy dentry and inode (the real inode for '/' may well be
    inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries
    with child trees.

    [*] Anonymous until discovered from another tree.

    (*) The documentation has been adjusted, including the additional bit of
    changing ext2_* into foo_* in the documentation.

    [akpm@osdl.org: convert ipath_fs, do other stuff]
    Signed-off-by: David Howells
    Acked-by: Al Viro
    Cc: Nathan Scott
    Cc: Roland Dreier
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     

22 Jun, 2006

1 commit

  • Using the class device pointer returned by tty_register_device() with
    part 1 of the patch, attach the Gigaset drivers' "cidmode" sysfs entry
    to its tty class device, where it can be found more easily by users
    who do not know nor care which USB port the device is attached to.

    Signed-off-by: Hansjoerg Lipp
    Signed-off-by: Tilman Schmidt
    Signed-off-by: Greg Kroah-Hartman

    Hansjoerg Lipp
     

22 May, 2006

1 commit

  • This fixes coverity bug id #1237. After the while loop, it is possible for
    i == ISDN_LMSNLEN. If this happens the terminating '\0' is written after
    the end of the array.

    Signed-off-by: Eric Sesterhenn
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     

16 May, 2006

2 commits

  • Signed-off-by: Alexey Dobriyan
    Cc: Hansjoerg Lipp
    Cc: Tilman Schmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • I am having the bug FATAL: Error inserting capi ([..]/capi.ko): Device or
    resource busy when I try to reload capi after loading it. in dmesg:
    capi20: unable to get major 68

    Fix the issue which is caused by setting the major to zero when registering
    the chrdev succeeded.

    (akpm: this means that we can again not use `major=0' (dynamic major
    allocation) for this driver).

    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stefan Schweizer
     

23 Apr, 2006

1 commit

  • Fix a possible Oops in the Siemens Gigaset base driver when the device is
    unplugged while an ISDN connection is still active, and makes sure that the
    isdn4linux link level (LL) is properly informed if a connection is broken
    by the USB cable being unplugged.

    - Avoid unsafe checks of URB status fields outside the URB completion
    handlers, keep track of in-use URBs myself instead.

    - If an isochronous transfer URB completes with status==0, also check the
    status of the frame descriptors.

    - Verify length of interrupt messages received from the device.

    - Align the length limit on transmitted AT commands with the device
    documentation.

    - In case of AT response receive overrun, keep newly arrived instead of old
    unread data.

    - Remove redundant check of device ID in the USB probe function.

    - Correct and improve some comments and formatting.

    Signed-off-by: Tilman Schmidt
    Acked-by: Hansjoerg Lipp
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     

12 Apr, 2006

1 commit

  • Coverity found some static overruns in isdn_ppp.c (bug id #519) At several
    places slot is compared ISDN_MAX_CHANNELS and then used to index
    ippp_table[ISDN_MAX_CHANNELS] A value of slot = ISDN_MAX_CHANNELS would run
    over the end of the array.

    Signed-off-by: Eric Sesterhenn
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Eric Sesterhenn
     

11 Apr, 2006

3 commits