29 Sep, 2010

7 commits

  • pcmcia_modify_configuration() was only used by two drivers to fix up
    one issue each: setting the Vpp to a different value, and reducing
    the IO width to 8 bit. Introduce two explicitly named functions
    handling these things, and remove one further typedef.

    CC: netdev@vger.kernel.org
    CC: linux-mtd@lists.infradead.org
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Instead of win_req_t, drivers are now requested to fill out
    struct pcmcia_device *p_dev->resource[2,3,4,5] for up to four iomem
    ranges. After a call to pcmcia_request_window(), the windows found there
    are reserved and may be used until pcmcia_release_window() is called.

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-mtd@lists.infradead.org
    CC: Jiri Kosina
    CC: linux-scsi@vger.kernel.org
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    ahci: fix module refcount breakage introduced by libahci split

    Linus Torvalds
     
  • libata depends on scsi_host_template for module reference counting and
    sht's should be owned by each low level driver. During libahci split,
    the sht was left with libahci.ko leaving the actual low level drivers
    not reference counted. This made ahci and ahci_platform always
    unloadable even while they're being actively used.

    Fix it by defining AHCI_SHT() macro in ahci.h and defining a sht for
    each low level ahci driver.

    stable: only applicable to 2.6.35.

    Signed-off-by: Tejun Heo
    Reported-by: Pedro Francisco
    Tested-by: Michael Tokarev
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:
    hwmon (coretemp): Fix build breakage if SMP is undefined

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: fix pci_resource_alignment prototype

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
    tcp: Fix >4GB writes on 64-bit.
    net/9p: Mount only matching virtio channels
    de2104x: fix ethtool
    tproxy: check for transparent flag in ip_route_newports
    ipv6: add IPv6 to neighbour table overflow warning
    tcp: fix TSO FACK loss marking in tcp_mark_head_lost
    3c59x: fix regression from patch "Add ethtool WOL support"
    ipv6: add a missing unregister_pernet_subsys call
    s390: use free_netdev(netdev) instead of kfree()
    sgiseeq: use free_netdev(netdev) instead of kfree()
    rionet: use free_netdev(netdev) instead of kfree()
    ibm_newemac: use free_netdev(netdev) instead of kfree()
    smsc911x: Add MODULE_ALIAS()
    net: reset skb queue mapping when rx'ing over tunnel
    br2684: fix scheduling while atomic
    de2104x: fix TP link detection
    de2104x: fix power management
    de2104x: disable autonegotiation on broken hardware
    net: fix a lockdep splat
    e1000e: 82579 do not gate auto config of PHY by hardware during nominal use
    ...

    Linus Torvalds
     

28 Sep, 2010

13 commits

  • Commit e40cc4bdfd4b89813f072f72bd9c7055814d3f0f introduced
    a build breakage if CONFIG_SMP is undefined. This commit
    fixes the problem.

    This fix is only a workaround. For a real fix, cpu_sibling_mask() should
    be defined in UP include code, eg in linux/smp.h, and asm/smp.h should not be
    included directly. This fix is currently not possible because asm/smp.h defines
    cpu_sibling_mask() unconditionally and is included directly from many source
    files.

    Reported-by: Ingo Molnar
    Tested-by: Ingo Molnar
    Signed-off-by: Guenter Roeck
    Cc: Fenghua Yu

    Guenter Roeck
     
  • The PKT_CTRL_CMD_STATUS device ioctl retrieves a pointer to a
    pktcdvd_device from the global pkt_devs array. The index into this
    array is provided directly by the user and is a signed integer, so the
    comparison to ensure that it falls within the bounds of this array will
    fail when provided with a negative index.

    This can be used to read arbitrary kernel memory or cause a crash due to
    an invalid pointer dereference. This can be exploited by users with
    permission to open /dev/pktcdvd/control (on many distributions, this is
    readable by group "cdrom").

    Signed-off-by: Dan Rosenberg
    [ Rather than add a cast, just make the function take the right type -Linus ]
    Signed-off-by: Linus Torvalds

    Dan Rosenberg
     
  • When the interface is up, using ethtool breaks it because:
    a) link is put down but media_timer interval is not shortened to NO_LINK
    b) rxtx is stopped but not restarted

    Also manual 10baseT-HD (and probably FD too - untested) mode does not work -
    the link is forced up, packets are transmitted but nothing is received.
    Changing CSR14 value to match documentation (not disabling link check) fixes this.

    Signed-off-by: Ondrej Zary
    Acked-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Ondrej Zary
     
  • David S. Miller
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    RDMA/cxgb3: Turn off RX coalescing for iWARP connections

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm: (28 commits)
    ARM: 6411/1: vexpress: set RAM latencies to 1 cycle for PL310 on ct-ca9x4 tile
    ARM: 6409/1: davinci: map sram using MT_MEMORY_NONCACHED instead of MT_DEVICE
    ARM: 6408/1: omap: Map only available sram memory
    ARM: 6407/1: mmu: Setup MT_MEMORY and MT_MEMORY_NONCACHED L1 entries
    ARM: pxa: remove pr_ uses of KERN_
    ARM: pxa168fb: clear enable bit when not active
    ARM: pxa: fix cpu_is_pxa*() not expanding to zero when not configured
    ARM: pxa168: fix corrected reset vector
    ARM: pxa: Use PIO for PI2C communication on Palm27x
    ARM: pxa: Fix Vpac270 gpio_power for MMC
    ARM: 6401/1: plug a race in the alignment trap handler
    ARM: 6406/1: at91sam9g45: fix i2c bus speed
    leds: leds-ns2: fix locking
    ARM: dove: fix __io() definition to use bus based offset
    dmaengine: fix interrupt clearing for mv_xor
    ARM: kirkwood: Unbreak PCIe I/O port
    ARM: Fix build error when using KCONFIG_CONFIG
    ARM: 6383/1: Implement phys_mem_access_prot() to avoid attributes aliasing
    ARM: 6400/1: at91: fix arch_gettimeoffset fallout
    ARM: 6398/1: add proc info for ARM11MPCore/Cortex-A9 from ARM
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    amd64_edac: Fix driver module removal

    Linus Torvalds
     
  • * 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel:
    drm/i915/sdvo: Handle unsupported GET_SUPPORTED_ENHANCEMENTS gracefully
    drm/i915/sdvo: Cleanup connector on error path
    drm/i915: Fix 945GM regression in e259befd

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
    mmc: sdhci-s3c: fix NULL ptr access in sdhci_s3c_remove
    mmc: sdhci-s3c: fix incorrect spinlock usage after merge
    mmc: MAINTAINERS: add myself as MMC maintainer

    Linus Torvalds
     
  • * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
    pcmcia: pd6729: Fix error path
    pcmcia: preserve configuration information if request_io fails partly

    Linus Torvalds
     
  • * git://git.infradead.org/iommu-2.6:
    intel-iommu: Use symbolic values instead of magic numbers in Lenovo w/a
    intel-iommu: Abort IOMMU setup for igfx if BIOS gave no shadow GTT space

    Linus Torvalds
     
  • This patch (commit 690a1f2002a3091bd18a501f46c9530f10481463) added a
    new call site for acpi_set_WOL() without checking that the function is
    actually suitable to be called via

    vortex_set_wol+0xcd/0xe0 [3c59x]
    dev_ethtool+0xa5a/0xb70
    dev_ioctl+0x2e0/0x4b0
    T.961+0x49/0x50
    sock_ioctl+0x47/0x290
    do_vfs_ioctl+0x7f/0x340
    sys_ioctl+0x80/0xa0
    system_call_fastpath+0x16/0x1b

    i.e. outside of code paths run when the device is not yet enabled or
    already disabled. In particular, putting the device into D3hot is a
    pretty bad idea when it was already brought up.

    Furthermore, all prior callers of the function made sure they're
    actually dealing with a PCI device, while the newly added one didn't.

    In the same spirit, the .get_wol handler shouldn't indicate support
    for WOL for non-PCI devices.

    Signed-off-by: Jan Beulich
    Signed-off-by: David S. Miller

    Jan Beulich
     
  • The HW by default has RX coalescing on. For iWARP connections, this
    causes a 100ms delay in connection establishement due to the ingress
    MPA Start message being stalled in HW. So explicitly turn RX
    coalescing off when setting up iWARP connections.

    This was causing very bad performance for NP64 gather operations using
    Open MPI, due to the way it sets up connections on larger jobs.

    Signed-off-by: Steve Wise
    Cc:
    Signed-off-by: Roland Dreier

    Steve Wise
     

27 Sep, 2010

10 commits

  • f4347553b30ec66530bfe63c84530afea3803396 removed the edac polling
    mechanism in favor of using a notifier chain for conveying MCE
    information to edac. However, the module removal path didn't test
    whether the driver had setup the polling function workqueue at all and
    the rmmod process was hanging in the kernel at try_to_del_timer_sync()
    in the cancel_delayed_work() path, trying to cancel an uninitialized
    work struct.

    Fix that by adding a balancing check to the workqueue removal path.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • Freeing netdev without free_netdev() leads to net, tx leaks.
    I might lead to dereferencing freed pointer.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    @@
    struct net_device* dev;
    @@

    -kfree(dev)
    +free_netdev(dev)

    Signed-off-by: David S. Miller

    Vasiliy Kulikov
     
  • Freeing netdev without free_netdev() leads to net, tx leaks.
    I might lead to dereferencing freed pointer.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    @@
    struct net_device* dev;
    @@

    -kfree(dev)
    +free_netdev(dev)

    Signed-off-by: David S. Miller

    Kulikov Vasiliy
     
  • Freeing netdev without free_netdev() leads to net, tx leaks.
    I might lead to dereferencing freed pointer.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    @@
    struct net_device* dev;
    @@

    -kfree(dev)
    +free_netdev(dev)

    Signed-off-by: David S. Miller

    Kulikov Vasiliy
     
  • Freeing netdev without free_netdev() leads to net, tx leaks.
    I might lead to dereferencing freed pointer.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    @@
    struct net_device* dev;
    @@

    -kfree(dev)
    +free_netdev(dev)

    Signed-off-by: David S. Miller

    Kulikov Vasiliy
     
  • This enables auto loading for the smsc911x ethernet driver.

    Signed-off-by: Vincent Stehlé
    Signed-off-by: David S. Miller

    Vincent Stehlé
     
  • Compex FreedomLine 32 PnP-PCI2 cards have only TP and BNC connectors but the
    SROM contains AUI port too. When TP loses link, the driver switches to
    non-existing AUI port (which reports that carrier is always present).

    Connecting TP back generates LinkPass interrupt but de_media_interrupt() is
    broken - it only updates the link state of currently connected media, ignoring
    the fact that LinkPass and LinkFail bits of MacStatus register belong to the
    TP port only (the chip documentation says that).

    This patch changes de_media_interrupt() to switch media to TP when link goes
    up (and media type is not locked) and also to update the link state only when
    the TP port is used.

    Also the NonselPortActive (and also SelPortActive) bits of SIAStatus register
    need to be cleared (by writing 1) after reading or they're useless.

    Signed-off-by: Ondrej Zary
    Acked-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Ondrej Zary
     
  • At least my 21041 cards come out of suspend with bus mastering disabled so
    they did not work after resume(no data transferred).
    After adding pci_set_master(), the driver oopsed immediately on resume -
    because de_clean_rings() is called on suspend but de_init_rings() call
    was missing in resume.

    Also disable link (reset SIA) before sleep (de4x5 does this too).

    Signed-off-by: Ondrej Zary
    Acked-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Ondrej Zary
     
  • If not all clocks have been defined in platform data, the driver will
    cause a null pointer dereference when it is removed. This patch fixes
    this issue.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Chris Ball

    Marek Szyprowski
     
  • In the commit f522886e202a34a2191dd5d471b3c4d46410a9a0 a merge conflict
    in the sdhci-s3c driver been fixed. However the fix used incorrect
    spinlock operation - it caused a race with sdhci interrupt service. The
    correct way to solve it is to use spin_lock_irqsave/irqrestore() calls.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Andrew Morton
    Signed-off-by: Chris Ball

    Marek Szyprowski
     

26 Sep, 2010

1 commit


25 Sep, 2010

9 commits