01 Oct, 2008

1 commit


23 Sep, 2008

4 commits

  • smp_mb is enough for ordering memory operations among processors,and mb is
    more expensive than smp_mb for UP machine, so replace it with smp_mb().

    Signed-off-by: Ming Lei
    Acked-by: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Ming Lei
     
  • The USB transport specification for Bluetooth splits the ACL and SCO
    handling into two separate interfaces. In Linux it possible to probe
    and disconnect these interfaces independently. So make sure that both
    interfaces are tightly bound together.

    This fixes the suspend regression that some people have expierenced.

    Signed-off-by: Oliver Neukum
    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     
  • The btusb driver contains two typos that result in some buggy behavior,
    but the impact is not immediately visible.

    During initialization the submitting of interrupt URBs might fail and
    then make sure to remove the correct flag and not one of the hci_dev
    flags.

    When closing down the interface make sure to kill the anchor for the
    ISOC URBs and not kill the interrupt URBs twice.

    Also cancel any scheduled work when closing down the interface.

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     
  • The newer MacBooks contain a Broadcom based Bluetooth chip and to make
    this work properly, HCI_Reset must be send first. If HCI_Reset is not
    used then a lot of I/O errors show up and its triggers packets from
    non-existent ACL links.

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     

22 Sep, 2008

1 commit


18 Aug, 2008

2 commits

  • The Bluetooth entries for the MAINTAINERS file are a little bit too
    much. Consolidate them into two entries. One for Bluetooth drivers and
    another one for the Bluetooth subsystem.

    Also the MODULE_AUTHOR should indicate the current maintainer of the
    module and actually not the original author. Fix all Bluetooth modules
    to provide current maintainer information.

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     
  • The new generic driver for Bluetooth USB devices was missing proper
    SCO support. The driver now claims the second interface for these USB
    devices to allow the flow of SCO packets. It also handles switching
    of the alternate setting and re-submission of isochronous URBs.

    The btusb driver is now a full replacement for hci_usb and thus the
    experimental tag has been removed and this driver is promoted as
    preferred one.

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     

08 Aug, 2008

2 commits


31 Jul, 2008

1 commit

  • Preface: The "Broadcom" device is on unreleased hardware, so I can't
    disclose the actual model.

    When the Dell 370 and 410 BT adapters are put into BT radio mode, they
    need to be prepared like many other Broadcom adapters.

    Also, add quirk Broadcom 2046 devices with HCI_RESET. Reference for this
    bug: https://launchpad.net/bugs/249448

    Signed-off-by: Michael Frey
    Signed-off-by: Mario Limonciello
    Signed-off-by: Tim Gardner
    Signed-off-by: Ben Collins
    Acked-by: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Michael Frey
     

21 Jul, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (1232 commits)
    iucv: Fix bad merging.
    net_sched: Add size table for qdiscs
    net_sched: Add accessor function for packet length for qdiscs
    net_sched: Add qdisc_enqueue wrapper
    highmem: Export totalhigh_pages.
    ipv6 mcast: Omit redundant address family checks in ip6_mc_source().
    net: Use standard structures for generic socket address structures.
    ipv6 netns: Make several "global" sysctl variables namespace aware.
    netns: Use net_eq() to compare net-namespaces for optimization.
    ipv6: remove unused macros from net/ipv6.h
    ipv6: remove unused parameter from ip6_ra_control
    tcp: fix kernel panic with listening_get_next
    tcp: Remove redundant checks when setting eff_sacks
    tcp: options clean up
    tcp: Fix MD5 signatures for non-linear skbs
    sctp: Update sctp global memory limit allocations.
    sctp: remove unnecessary byteshifting, calculate directly in big-endian
    sctp: Allow only 1 listening socket with SO_REUSEADDR
    sctp: Do not leak memory on multiple listen() calls
    sctp: Support ipv6only AF_INET6 sockets.
    ...

    Linus Torvalds
     
  • Move the line disciplines towards a conventional ->ops arrangement. For
    the moment the actual 'tty_ldisc' struct in the tty is kept as part of
    the tty struct but this can then be changed if it turns out that when it
    all settles down we want to refcount ldiscs separately to the tty.

    Pull the ldisc code out of /proc and put it with our ldisc code.

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     

18 Jul, 2008

1 commit


15 Jul, 2008

2 commits

  • Fix bluetooth hci_bcsp Kconfig to avoid build errors:

    drivers/built-in.o: In function `bcsp_prepare_pkt':
    hci_bcsp.c:(.text+0x7e9ac): undefined reference to `bitrev16'
    drivers/built-in.o: In function `bcsp_recv':
    hci_bcsp.c:(.text+0x7f276): undefined reference to `bitrev16'
    hci_bcsp.c:(.text+0x7f293): undefined reference to `bitrev16'
    make[1]: *** [.tmp_vmlinux1] Error 1

    Signed-off-by: Randy Dunlap
    Ackey-by: Marcel Holtmann
    Signed-off-by: David S. Miller

    Randy Dunlap
     
  • * 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6: (64 commits)
    firmware: convert sb16_csp driver to use firmware loader exclusively
    dsp56k: use request_firmware
    edgeport-ti: use request_firmware()
    edgeport: use request_firmware()
    vicam: use request_firmware()
    dabusb: use request_firmware()
    cpia2: use request_firmware()
    ip2: use request_firmware()
    firmware: convert Ambassador ATM driver to request_firmware()
    whiteheat: use request_firmware()
    ti_usb_3410_5052: use request_firmware()
    emi62: use request_firmware()
    emi26: use request_firmware()
    keyspan_pda: use request_firmware()
    keyspan: use request_firmware()
    ttusb-budget: use request_firmware()
    kaweth: use request_firmware()
    smctr: use request_firmware()
    firmware: convert ymfpci driver to use firmware loader exclusively
    firmware: convert maestro3 driver to use firmware loader exclusively
    ...

    Fix up trivial conflicts with BKL removal in drivers/char/dsp56k.c and
    drivers/char/ip2/ip2main.c manually.

    Linus Torvalds
     

10 Jul, 2008

1 commit


03 Jul, 2008

1 commit


21 Jun, 2008

1 commit


11 Jun, 2008

1 commit

  • Use bitrev16 from lib/bitrev.c.

    Use the get_unaligned_be16 to get the crc from the packet, create a
    small helper function for this.

    Fix a shadowed variable sparse warning:
    drivers/bluetooth/hci_bcsp.c:218:26: warning: symbol 'hdr' shadows an earlier one
    drivers/bluetooth/hci_bcsp.c:187:5: originally declared here

    [akpm@linux-foundation.org: select CONFIG_BITREVERSE, noted by akinobu.mita@gmail.com]
    Signed-off-by: Harvey Harrison
    Acked-by: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Harvey Harrison
     

03 May, 2008

1 commit

  • If someone tries to _urb_unlink while _urb_queue_head is running, he'll see
    _urb->queue == NULL and fail to do any locking. Prevent that from happening
    by strategically placed barriers.

    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Pavel Machek
     

30 Apr, 2008

2 commits

  • Something Arjan suggested which allows us to clean up the code nicely

    Signed-off-by: Alan Cox
    Cc: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • - Operations are now a shared const function block as with most other Linux
    objects

    - Introduce wrappers for some optional functions to get consistent behaviour

    - Wrap put_char which used to be patched by the tty layer

    - Document which functions are needed/optional

    - Make put_char report success/fail

    - Cache the driver->ops pointer in the tty as tty->ops

    - Remove various surplus lock calls we no longer need

    - Remove proc_write method as noted by Alexey Dobriyan

    - Introduce some missing sanity checks where certain driver/ldisc
    combinations would oops as they didn't check needed methods were present

    [akpm@linux-foundation.org: fix fs/compat_ioctl.c build]
    [akpm@linux-foundation.org: fix isicom]
    [akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build]
    [akpm@linux-foundation.org: fix kgdb]
    Signed-off-by: Alan Cox
    Acked-by: Greg Kroah-Hartman
    Cc: Jason Wessel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     

20 Apr, 2008

2 commits


13 Mar, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
    [SCTP]: Fix local_addr deletions during list traversals.
    net: fix build with CONFIG_NET=n
    [TCP]: Prevent sending past receiver window with TSO (at last skb)
    rt2x00: Add new D-Link USB ID
    rt2x00: never disable multicast because it disables broadcast too
    libertas: fix the 'compare command with itself' properly
    drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry
    [NETFILTER]: nf_queue: don't return error when unregistering a non-existant handler
    [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists
    [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists
    [NETFILTER]: nf_conntrack: replace horrible hack with ksize()
    [NETFILTER]: nf_conntrack: add \n to "expectation table full" message
    [NETFILTER]: xt_time: fix failure to match on Sundays
    [NETFILTER]: nfnetlink_log: fix computation of netlink skb size
    [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb.
    [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h
    [NET]: include into linux/ethtool.h for __u* typedef
    [NET]: Make /proc/net a symlink on /proc/self/net (v3)
    RxRPC: fix rxrpc_recvmsg()'s returning of msg_name
    net/enc28j60: oops fix
    ...

    Linus Torvalds
     

08 Mar, 2008

1 commit


06 Mar, 2008

1 commit


13 Feb, 2008

1 commit

  • Arjan:

    With the help of kerneloops.org I've spotted a nice little interaction
    between the TTY layer and the bluetooth code, however the tty layer is not
    something I'm all too familiar with so I rather ask than brute-force fix the
    code incorrectly.

    The raw details are at:
    http://www.kerneloops.org/search.php?search=uart_flush_buffer

    What happens is that, on closing the bluetooth tty, the tty layer goes
    into the release_dev() function, which first does a bunch of stuff, then
    sets the file->private_data to NULL, does some more stuff and then calls the
    ldisc close function. Which in this case, is hci_uart_tty_close().

    Now, hci_uart_tty_close() calls hci_uart_close() which clears some
    internal bit, and then calls hci_uart_flush()... which calls back to the
    tty layers' uart_flush_buffer() function. (in drivers/bluetooth/hci_tty.c
    around line 194) Which then WARN_ON()'s because that's not allowed/supposed
    to be called this late in the shutdown of the port....

    Should the bluetooth driver even call this flush function at all??

    David:

    This seems to be what happens: Hci_uart_close() flushes using
    hci_uart_flush(). Subsequently, in hci_dev_do_close(), (one step in
    hci_unregister_dev()), hci_uart_flush() is called again. The comment in
    uart_flush_buffer(), relating to the WARN_ON(), indicates you can't flush
    after the port is closed; which sounds reasonable. I think hci_uart_close()
    should set hdev->flush to NULL before returning. Hci_dev_do_close() does
    check for this. The code path is rather involved and I'm not entirely clear
    of all steps, but I think that's what should be done.

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

    David Newall
     

06 Feb, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    [PKT_SCHED]: vlan tag match
    [NET]: Add if_addrlabel.h to sanitized headers.
    [NET] rtnetlink.c: remove no longer used functions
    [ICMP]: Restore pskb_pull calls in receive function
    [INET]: Fix accidentally broken inet(6)_hash_connect's port offset calculations.
    [NET]: Remove further references to net-modules.txt
    bluetooth rfcomm tty: destroy before tty_close()
    bluetooth: blacklist another Broadcom BCM2035 device
    drivers/bluetooth/btsdio.c: fix double-free
    drivers/bluetooth/bpa10x.c: fix memleak
    bluetooth: uninlining
    bluetooth: hidp_process_hid_control remove unnecessary parameter dealing
    tun: impossible to deassert IFF_ONE_QUEUE or IFF_NO_PI
    hamradio: fix dmascc section mismatch
    [SCTP]: Fix kernel panic while received AUTH chunk with BAD shared key identifier
    [SCTP]: Fix kernel panic while received AUTH chunk while enabled auth
    [IPV4]: Formatting fix for /proc/net/fib_trie.
    [IPV6]: Fix sysctl compilation error.
    [NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build)
    [IPV4]: Fix compile error building without CONFIG_FS_PROC
    ...

    Linus Torvalds
     
  • Remove kio_addr_t, and replace it with unsigned int. No known architecture
    needs more than 32 bits for IO addresses and ports and having a separate type
    for it is just messy.

    Signed-off-by: Olof Johansson
    Cc: Christoph Hellwig
    Cc: Matthew Wilcox
    Cc: Alan Cox
    Cc: Dominik Brodowski
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olof Johansson
     

05 Feb, 2008

3 commits


03 Feb, 2008

1 commit


11 Jan, 2008

1 commit


22 Oct, 2007

4 commits