27 Jun, 2006

25 commits

  • 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
     
  • Add a GTOD clocksource driver based on the Geode SCx200's Hi-Res Timer.

    Signed-off-by: Jim Cromie
    Cc: Roman Zippel
    Cc: john stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jim Cromie
     
  • Add a CLOCKSOURCE_MASK macro to simplify initializing the mask for a struct
    clocksource, and use it to replace literal mask constants in the various
    clocksource drivers.

    Signed-off-by: Jim Cromie
    Acked-by: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jim Cromie
     
  • - written on init only, accessed for every timer read --> __read_mostly
    - fix broken sentence

    Signed-off-by: Andreas Mohr
    Cc: john stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Mohr
     
  • As suggested by Roman Zippel, change clocksource functions to use
    clocksource_xyz rather then xyz_clocksource to avoid polluting the
    namespace.

    Signed-off-by: John Stultz
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     
  • Implement the time sources for i386 (acpi_pm, cyclone, hpet, pit, and tsc).
    With this patch, the conversion of the i386 arch to the generic timekeeping
    code should be complete.

    The patch should be fairly straight forward, only adding the new clocksources.

    [hirofumi@mail.parknet.co.jp: acpi_pm cleanup]
    Signed-off-by: John Stultz
    Signed-off-by: Adrian Bunk
    Signed-off-by: Paul Mundt
    Signed-off-by: John Stultz
    Signed-off-by: OGAWA Hirofumi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     
  • As part of the i386 conversion to the generic timekeeping infrastructure, this
    introduces a new tsc.c file. The code in this file replaces the TSC
    initialization, management and access code currently in timer_tsc.c (which
    will be removed) that we want to preserve.

    The code also introduces the following functionality:

    o tsc_khz: like cpu_khz but stores the TSC frequency on systems that do not
    change TSC frequency w/ CPU frequency

    o check/mark_tsc_unstable: accessor/modifier flag for TSC timekeeping
    usability

    o minor cleanups to calibration math.

    This patch also includes a one line __cpuinitdata fix from Zwane Mwaikambo.

    Signed-off-by: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     
  • John's about to nuke x86's monotonic clock without grepping for it first. The
    patch lamely borrows the ppc64 code for x86.

    hangcheck-timer shouldn't be doing it this way

    a) HAVE_MONOTONIC should be CONFIG_MONOTONIC_CLOCK and it should be defined
    in arch/xxx/Kconfig.

    b) That ifdef tangle shouldn't be in hangcheck-timer.c. It should be using
    arch-provided helper functions, which CONFIG_MONOTONIC_CLOCK-enabling
    architectures implement in arch/something.c

    Cc: john stultz
    Acked-by: Joel Becker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Signed-off-by: Michael Buesch
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • This patch series replaces the old non-generic Hardware Random Number
    Generator support by a fully generic RNG API.

    This makes it possible to register additional RNGs from modules. With this
    patch series applied, Laptops with a bcm43xx chip (PowerBook) have a HW RNG
    available now.

    Additionally two new RNG drivers are added for the "ixp4xx" and "omap"
    devices. (Written by Deepak Saxena). This patch series includes the old
    patches by Deepak Saxena.

    The old x86-rng driver has beed split.

    The userspace RNG daemon can later be updated to select the RNG through
    /sys/class/misc/hw_random/ for convenience. For now it is sufficient to use
    cat and echo -n on the sysfs attributes.

    Signed-off-by: Michael Buesch
    Acked-by: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • This patch converts the combination of list_del(A) and list_add(A, B) to
    list_move(A, B) under drivers/.

    Acked-by: Corey Minyard
    Cc: Ben Collins
    Acked-by: Roland Dreier
    Cc: Alasdair Kergon
    Cc: Gerd Knorr
    Cc: Paul Mackerras
    Cc: Frank Pavlic
    Acked-by: Matthew Wilcox
    Cc: Andrew Vasquez
    Cc: Mikael Starvik
    Cc: Greg Kroah-Hartman
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This patch converts the combination of list_del(A) and list_add(A, B) to
    list_move(A, B).

    Cc: Greg Kroah-Hartman
    Cc: Ram Pai
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Magic sysrq fails to work on many keyboards, particulary most of notebook
    keyboards. This patch fixes it.

    The idea is quite simple: Discard the SysRq break code if Alt is still being
    held down. This way the broken keyboard can send the break code (or the user
    with a normal keyboard can release the SysRq key) and the kernel waits until
    the next key is pressed or the Alt key is released.

    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fredrik Roubert
     
  • There's a problem in drivers/bluetooth/dtl1_cs.c::dtl1_hci_send_frame()

    If bt_skb_alloc() returns NULL, then skb_reserve(s, NSHL); will cause a
    NULL pointer deref - ouch. If we can't allocate the resources we require
    we need to tell the caller by returning -ENOMEM.

    Found by the coverity checker as bug #409

    Signed-off-by: Jesper Juhl
    Acked-by: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • Update this driver for recent header file movement.

    Cc: David Brownell
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

26 Jun, 2006

15 commits

  • ColdFire serial driver support for the new 532x CPU family UARTs.

    Patch submitted by Matt Waddel .

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Specify the struct mapping used on the new Freescale 532x CPU family's
    FEC ethernet core.

    Patch submitted by Matt Waddel .

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
    IB/iser: iSER Kconfig and Makefile
    IB/iser: iSER handling of memory for RDMA
    IB/iser: iSER RDMA CM (CMA) and IB verbs interaction
    IB/iser: iSER initiator iSCSI PDU and TX/RX
    IB/iser: iSCSI iSER transport provider high level code
    IB/iser: iSCSI iSER transport provider header file
    IB/uverbs: Remove unnecessary list_del()s
    IB/uverbs: Don't free wr list when it's known to be empty

    Linus Torvalds
     
  • * git://git.linux-nfs.org/pub/linux/nfs-2.6: (51 commits)
    nfs: remove nfs_put_link()
    nfs-build-fix-99
    git-nfs-build-fixes
    Merge branch 'odirect'
    NFS: alloc nfs_read/write_data as direct I/O is scheduled
    NFS: Eliminate nfs_get_user_pages()
    NFS: refactor nfs_direct_free_user_pages
    NFS: remove user_addr, user_count, and pos from nfs_direct_req
    NFS: "open code" the NFS direct write rescheduler
    NFS: Separate functions for counting outstanding NFS direct I/Os
    NLM: Fix reclaim races
    NLM: sem to mutex conversion
    locks.c: add the fl_owner to nlm_compare_locks
    NFS: Display the chosen RPCSEC_GSS security flavour in /proc/mounts
    NFS: Split fs/nfs/inode.c
    NFS: Fix typo in nfs_do_clone_mount()
    NFS: Fix compile errors introduced by referrals patches
    NFSv4: Ensure that referral mounts bind to a reserved port
    NFSv4: A root pathname is sent as a zero component4
    NFSv4: Follow a referral
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (244 commits)
    V4L/DVB (4210b): git-dvb: tea575x-tuner build fix
    V4L/DVB (4210a): git-dvb versus matroxfb
    V4L/DVB (4209): Added some BTTV PCI IDs for newer boards
    Fixes some sync issues between V4L/DVB development and GIT
    V4L/DVB (4206): Cx88-blackbird: always set encoder height based on tvnorm->id
    V4L/DVB (4205): Merge tda9887 module into tuner.
    V4L/DVB (4203): Explicitly set the enum values.
    V4L/DVB (4202): allow selecting CX2341x port mode
    V4L/DVB (4200): Disable bitrate_mode when encoding mpeg-1.
    V4L/DVB (4199): Add cx2341x-specific control array to cx2341x.c
    V4L/DVB (4198): Avoid newer usages of obsoleted experimental MPEGCOMP API
    V4L/DVB (4197): Port new MPEG API to saa7134-empress with saa6752hs
    V4L/DVB (4196): Port cx88-blackbird to the new MPEG API.
    V4L/DVB (4193): Update cx2341x fw encoding API doc.
    V4L/DVB (4192): Use control helpers for saa7115, cx25840, msp3400.
    V4L/DVB (4191): Add CX2341X MPEG encoder module.
    V4L/DVB (4190): Add helper functions for control processing to v4l2-common.
    V4L/DVB (4189): Add videodev support for VIDIOC_S/G/TRY_EXT_CTRLS.
    V4L/DVB (4188): Add new MPEG control/ioctl definitions to videodev2.h
    V4L/DVB (4186): Add support for the DNTV Live! mini DVB-T card.
    ...

    Linus Torvalds
     
  • Add parport interfaces to kernel-doc template. Small doc. cleanups in 2
    parport source files.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Add support for SyncLink GT2 adapter to driver.

    Signed-off-by: Paul Fulghum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Fulghum
     
  • Fix diagnostics error reporting that was being overwritten by incorrect use
    of return codes from individual diagnostic functions.

    Signed-off-by: Paul Fulghum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Fulghum
     
  • Add ability to return HDLC CRC to user application.

    Signed-off-by: Paul Fulghum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Fulghum
     
  • Add custom HDLC idle pattern feature.

    It allows the user to specify an arbitrary 8 or 16 bit repeating pattern on
    the transmit data pin between HDLC frames.

    In most cases the idle pattern is continuous ones or flags as supported by off
    the shelf synchronous controllers and defined in the ISO3309 standard. Some
    applications (radio/satellite modems, connections to legacy military hardware)
    require non-standard patterns.

    Signed-off-by: Paul Fulghum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Fulghum
     
  • drivers/net/irda/irda-usb.c: In function 'stir421x_patch_device':
    drivers/net/irda/irda-usb.c:1108: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'size_t'

    Cc: Greg KH
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Add DMI interface functions to a new Firmware Interfaces chapter in the
    kernel-api DocBook. Clean up kernel-doc in drivers/firmware/dmi_scan.c.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Add an LED trigger acts like a heart beat. This can be used as a
    replacement of CONFIG_HEARTBEAT code exists in some arch's timer code.

    Signed-off-by: Atsushi Nemoto
    Acked-by: Richard Purdie
    Cc: "Nish Aravamudan"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Fix memory leak caused by incorrect use of tty buffer facility. tty
    buffers are allocated but never processed by call to tty_flip_buffer_push
    so they accumulate on the full buffer list. Current code uses the buffers
    as a temporary storage for data before passing it directly to the line
    discipline.

    Signed-off-by: Paul Fulghum
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Fulghum
     
  • TANBAC_TB0229 requires GPIO_VR41XX. This patch adds "select GPIO_VR41XX"
    for TANBAC_TB0229.

    Signed-off-by: Yoichi Yuasa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa