17 Aug, 2008

1 commit

  • The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
    drivers/char/pcmcia/ipwireless/tty.c
    drivers/char/synclink_gt.c
    drivers/char/xilinx_hwicap/xilinx_hwicap.c

    This patch removes the said #include .

    Signed-off-by: Huang Weiyi
    Signed-off-by: Linus Torvalds

    Huang Weiyi
     

07 Aug, 2008

1 commit


29 Jul, 2008

1 commit

  • There's a brown paper bag compile failure introduced by this patch

    commit a01386924874c4d6d67f8a34e66f04452c2abb69
    Author: David Sterba
    Date: Mon Jul 28 16:53:32 2008 +0200

    ipwireless: Preallocate received packet buffers with MRU size

    Really, it can't ever have been even compile tested. It looks like the
    closing bracket is in the wrong place, so this is the fix.

    Signed-off-by: James Bottomley
    Signed-off-by: Linus Torvalds

    James Bottomley
     

28 Jul, 2008

12 commits

  • ipwireless: Preallocate received packet buffers with MRU size

    Packets are assembled from link size (~300 bytes) up to PPP MRU
    (1500 by default). Try to preallocate full size rather than
    repeatedly advance buffer size by 256 bytes.

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Put packets to pool start

    Put packets to pool start, try to reuse cached memory.

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Increase PPP outgoing queue size

    Increase default size of PPP outgoing queue. Currently set to 1, which
    means that a packet quickly following another pushed by PPP must wait
    until hardware actually sends the previous and PPP has to be waken up
    by ppp_wakeup(). This slows down upstream.

    Now PPP can push more packets at once which get buffered inside driver
    and pushed immediatelly to hardware when previous packet is out.

    Experiments show that size = 10 is quite good for all connection types
    (GPRS/EDGE/UMTS) and gains 4 KB/sec of upload for UMTS for batch uploads.
    Need for higher queue size than 10 occures in only < 0.1 % of cases.

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Explicitly request io and mem regions

    Documentation/pcmcia/driver-changes.txt says, that driver should call request_region
    for used memory/io regions since PCMCIA does not do this (since 2.6.8).

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Constify buffer variables

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Do not return value from sending funcs

    Do not return value from do_send_fragment and do_send_packet, it's not used.
    The packet size checks are not useful too:

    * zero length packet will never be sent, caller always passes packet_header
    size which is either 1 or 3
    * MTU check is done in caller, no need to repeat

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Remove endian-dependent bitfields

    Remove endian-dependent bitfields and use bitmasks to transform
    packet header bitfields from/to machine order.

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Glue splitted printk strings back

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Remove pt_regs from interrupt handler

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Rename spinlock variables to lock

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Remove unused defines

    Remove unused defines, defines hiding variables, defines hiding 0.

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     
  • ipwireless: Misc cleanups

    - remove likely() and some extra () in ifs
    - use unsigned in for loops
    - remove useless typecasts
    - remove obvious comments
    - add () around ?:

    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     

24 Jul, 2008

1 commit


23 Jul, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (79 commits)
    arm: bus_id -> dev_name() and dev_set_name() conversions
    sparc64: fix up bus_id changes in sparc core code
    3c59x: handle pci_name() being const
    MTD: handle pci_name() being const
    HP iLO driver
    sysdev: Convert the x86 mce tolerant sysdev attribute to generic attribute
    sysdev: Add utility functions for simple int/ulong variable sysdev attributes
    sysdev: Pass the attribute to the low level sysdev show/store function
    driver core: Suppress sysfs warnings for device_rename().
    kobject: Transmit return value of call_usermodehelper() to caller
    sysfs-rules.txt: reword API stability statement
    debugfs: Implement debugfs_remove_recursive()
    HOWTO: change email addresses of James in HOWTO
    always enable FW_LOADER unless EMBEDDED=y
    uio-howto.tmpl: use unique output names
    uio-howto.tmpl: use standard copyright/legal markings
    sysfs: don't call notify_change
    sysdev: fix debugging statements in registration code.
    kobject: should use kobject_put() in kset-example
    kobject: reorder kobject to save space on 64 bit builds
    ...

    Linus Torvalds
     
  • Some hardware needs to do break handling itself and may have partial
    support only. Make break_ctl return an error code. Add a tty driver flag
    so you can indicate driver hardware side break support.

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

    Alan Cox
     

22 Jul, 2008

1 commit


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


16 Jul, 2008

1 commit


15 Jul, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (23 commits)
    pcmcia: Fix ide-cs sparse warning
    pcmcia: ide-cs debugging bugfix
    pcmcia: allow for longer CIS firmware files
    pcmcia: cm40x0 cdev lock_kernel() pushdown
    pcmcia: (re)move {pcmcia,pccard}_get_status
    pcmcia: kill IN_CARD_SERVICES
    pcmcia: Remove unused header file code
    pcmcia: remove unused bulkmem.h
    pcmcia: simplify pccard_validate_cis
    pcmcia: carve out ioctl adjust function to pcmcia_ioctl
    pcmcia: irq probe can be done without risking an IRQ storm
    pcmcia: Fix ti12xx_2nd_slot_empty always failing
    pcmcia: check for pointer instead of pointer address
    pcmcia: switch cm4000_cs.c to unlocked_ioctl
    pcmcia: simplify rsrc_nonstatic attributes
    pcmcia: add support CompactFlash PCMCIA support for Blackfin.
    pcmcia: remove version.h
    pcmcia: cs: kill thread_wait
    pcmcia: i82365.c: check request_irq return value
    pcmcia: fix Alchemy warnings
    ...

    Linus Torvalds
     

13 Jul, 2008

1 commit

  • Coverity CID: 2172 RESOURCE_LEAK

    When pool_allocate() tries to enlarge a packet, if it can not allocate enough
    memory, it returns NULL without first freeing the old packet.

    This patch just frees the packet first.

    Signed-off-by: Darren Jenkins
    Acked-by: Jiri Kosina
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Darren Jenkins
     

04 Jul, 2008

1 commit


24 Jun, 2008

3 commits


07 Jun, 2008

1 commit

  • Packet sending is driven by two flags, tx_ready and tx_queued.
    It was possible, that there were queued data for sending and
    hardware was flagged as blocked but in fact it was not.

    The tx_queued was indicator but should be really a counter else
    first fragmented packet resets tx_queued flag, but there may be
    pending packets which do not get sent.

    New semantics:
    tx_ready - set, if hw is ready to send packet, no packet is being
    transferred right now
    set the flag right at the place where data are copied
    into hw memory and not earlier without checking if it
    was succesful
    tx_queued - count of enqueued packets, including fragments

    Tested-by: Michal Rokos
    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     

30 Apr, 2008

3 commits

  • __FUNCTION__ is gcc-specific, use __func__

    Signed-off-by: Harvey Harrison
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • Signed-off-by: Alan Cox
    Cc: Dominik Brodowski
    Cc: Paul Fulghum
    Cc: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • - Stop drivers calling their own flush method indirectly, it obfuscates code
    and it will change soon anyway

    - A few more lock_kernel paths temporarily needed in some driver internal
    waiting code

    - Remove private put_char method that does a write call for one char - we
    have that anyway

    - Most but not yet all of the termios copy under lock fixing (some has other
    dependencies to follow)

    - Note a few locking bugs in drivers found in the process

    - Kill remaining [ab]users of TIOCG/SSOFTCAR in the driver, these must go to
    fix the termios locking

    Signed-off-by: Alan Cox
    Cc: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     

29 Apr, 2008

1 commit


28 Apr, 2008

1 commit

  • Remove more TRUE/FALSE defines and uses
    Remove == TRUE tests
    Convert BOOLEAN to bool
    Convert int to bool where appropriate

    Signed-off-by: Joe Perches
    Acked-by: Paul Fulghum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

21 Apr, 2008

1 commit


05 Mar, 2008

1 commit

  • The Coverity checker spotted the following inconsequent NULL checking in
    drivers/char/pcmcia/ipwireless/network.c:ipwireless_network_packet_received()

    if (tty && channel_idx == IPW_CHANNEL_RAS
    && (network->ras_control_lines &
    IPW_CONTROL_LINE_DCD) != 0
    && ipwireless_tty_is_modem(tty)) {
    ...
    else
    ipwireless_tty_received(tty, data, length);

    Cc: Adrian Bunk
    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Cc: "John W. Linville"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Sterba
     

14 Feb, 2008

1 commit

  • ipwireless (added by 099dc4fb62653f6019d78db55fba7a18ef02d65b) is clearly
    a net device:

    drivers/built-in.o: In function `ipwireless_ppp_start_xmit':
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `skb_under_panic'
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `kfree_skb'
    drivers/built-in.o: In function `ipwireless_network_packet_received':
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `__alloc_skb'
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `skb_over_panic'
    drivers/built-in.o: In function `ppp_shutdown_interface':
    /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `unregister_netdev'
    /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `free_netdev'
    [ ... and many more ... ]

    select strikes again. ipwireless selects PPP which in turn tries to select
    SLHC, both of which are technically "protected" by an if NETDEVICES
    in drivers/net/Kconfig. This leads to .config hilarity, with net suddenly
    ending up in the SCSI menu:

    #
    # SCSI device support
    #
    # CONFIG_SCSI_DMA is not set
    # CONFIG_SCSI_NETLINK is not set
    CONFIG_PPP=y
    # CONFIG_PHONE is not set

    Curiously the SLHC select from PPP doesn't seem to happen, as there's no
    CONFIG_SLHC=y (only CONFIG_PPP=y gets set) -- Kconfig bug? Caught with a
    randconfig.

    Signed-off-by: Paul Mundt
    Acked-by: Jiri Kosina
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     

08 Feb, 2008

1 commit

  • The device is manufactured by IPWireless. In some countries (for
    example Czech Republic, T-Mobile ISP) this card is shipped for service
    called UMTS 4G.

    It's a piece of PCMCIA "4G" UMTS PPP networking hardware that presents
    itself as a serial character device (i.e. looks like usual modem to
    userspace, accepts AT commands, etc).

    Rewieved-by: Jiri Slaby
    Signed-off-by: Ben Martel
    Signed-off-by: Stephen Blackheath
    Signed-off-by: David Sterba
    Signed-off-by: Jiri Kosina
    Signed-off-by: Linus Torvalds

    David Sterba
     

07 Feb, 2008

1 commit