24 Feb, 2011

15 commits


23 Feb, 2011

25 commits

  • The module forgot to sometimes unregister some resources.

    This fixes Bug #22882.

    [Patch updated to 2.6.38-rc3 by Randy Dunlap.]
    Tested-by: Randy Dunlap
    Signed-off-by: Florian Mickler
    Signed-off-by: Dave Airlie

    Florian Mickler
     
  • * 'for-2639-rc4/i2c-fixes' of git://git.fluff.org/bjdooks/linux:
    i2c-omap: fixup commit cb527ede1bf6ff2008a025606f25344b8ed7b4ac whitespace
    i2c-omap: Double clear of ARDY status in IRQ handler
    i2c-omap: fix build for !CONFIG_SUSPEND
    i2c-omap: fix static suspend vs. runtime suspend
    i2c-stu300: make sure adapter-name is terminated

    Linus Torvalds
     
  • * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    Revert "USB: Reset USB 3.0 devices on (re)discovery"
    USB: musb: omap2430: fix kernel panic on reboot
    sierra: add new ID for Airprime/Sierra USB IP modem
    USB: serial/usb_wwan, fix tty NULL dereference
    USB: Reset USB 3.0 devices on (re)discovery
    USB: Add quirk for Samsung Android phone modem
    USB: Add Samsung SGH-I500/Android modem ID switch to visor driver
    USB: add quirks entry for Keytouch QWERTY Panel
    usb: musb: omap2430: fix kernel panic on reboot
    usb: musb: fix build breakage

    Linus Torvalds
     
  • Fixup the whitespace error noticed in cb527ede1bf6ff2008a025606f25344b8ed7b4ac

    Signed-off-by: Ben Dooks

    Ben Dooks
     
  • This errata occurs when the ARDY interrupt generation is enabled.
    At the begining of every new transaction the ARDY interrupt is cleared.

    On continuous i2c transactions where after clearing the ARDY bit from
    I2C_STAT register (clearing the interrupt), the IRQ line is reasserted and the
    I2C_STAT[ARDY] bit set again on 1. In fact, the ARDY status bit is not cleared
    at the write access to I2C_STAT[ARDY] and only the IRQ line is deasserted and
    then reasserted. This is not captured in the usual errata documents.

    The workaround is to have a double clear of ARDY status in irq handler.

    Signed-off-by: Richard woodruff
    Signed-off-by: Keerthy
    Signed-off-by: Ben Dooks

    Richard woodruff
     
  • fix the build break when !CONFIG_SUSPEND

    drivers/i2c/busses/i2c-omap.c:1173: error: lvalue required as unary '&' operand
    make[3]: *** [drivers/i2c/busses/i2c-omap.o] Error 1
    make[2]: *** [drivers/i2c/busses] Error 2
    make[1]: *** [drivers/i2c] Error 2
    make: *** [drivers] Error 2

    Signed-off-by: Balaji T K
    Signed-off-by: Ben Dooks

    Balaji T K
     
  • Some userspaces can emit a whole packet without disabling AA resolve
    by the looks of it, so we have to deal with them.

    Signed-off-by: Dave Airlie
    Tested-by: Jorg Otte

    Dave Airlie
     
  • r100_gpu_init() was dropped in 90aca4d ("drm/radeon/kms: simplify &
    improve GPU reset V2") but here it was only commented out.

    Signed-off-by: Paul Bolle
    Signed-off-by: Dave Airlie

    Paul Bolle
     
  • Testing showed the current code can already handle doublescan
    video modes just fine. A trivial tweak makes it work for interlaced
    scanout as well.

    Tested and shown to be precise on Radeon rv530, r600 and
    Intel 945-GME.

    Signed-off-by: Mario Kleiner
    Signed-off-by: Dave Airlie

    Mario Kleiner
     
  • Documentation/atomic_ops.txt tells us that there are memory
    barriers optimized for atomic_inc and other atomic_t ops.

    Use these instead of smp_wmb(), and also to make the required
    memory barriers around vblank counter increments more explicit.

    Signed-off-by: Mario Kleiner
    Signed-off-by: Dave Airlie

    Mario Kleiner
     
  • Use of abs() wrongly wrapped diff_ns to 32 bit, which gives a 1/4000
    probability of a missed vblank increment at each vblank irq reenable
    if the kms driver doesn't support high precision vblank timestamping.
    Not a big deal in practice, but let's make it nice.

    Signed-off-by: Mario Kleiner
    Signed-off-by: Dave Airlie

    Mario Kleiner
     
  • this aligns the height of the fb allocation so it doesn't trip
    over the size checks later when we use this from userspace to
    copy the buffer at X start.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • This reverts commit a6f9761743bf35b052180f4a8bdae4d2cc0465f6.

    Remove this commit as it is no longer necessary. The relevant bugs
    were fixed properly in:
    drm/radeon/kms: hopefully fix pll issues for real (v3)
    5b40ddf888398ce4cccbf3b9d0a18d90149ed7ff
    drm/radeon/kms: add missing frac fb div flag for dce4+
    9f4283f49f0a96a64c5a45fe56f0f8c942885eef

    This commit also broke certain ~5 Mhz modes on old arcade monitors,
    so reverting this commit fixes:
    https://bugzilla.kernel.org/show_bug.cgi?id=29502

    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • When runtime PM is enabled, each OMAP i2c device is suspended after
    each i2c xfer. However, there are two cases when the static suspend
    methods must be used to ensure the devices are suspended:

    1) runtime PM is disabled, either at compile time or dynamically
    via /sys/devices/.../power/control.
    2) an i2c client driver uses i2c during it's suspend callback, thus
    leaving the i2c driver active (NOTE: runtime suspend transitions are
    disabled during system suspend, so i2c activity during system
    suspend will runtime resume the device, but not runtime (re)suspend it.)

    Since the actual work to suspend the device is handled by the
    subsytem, call the bus methods to take care of it.

    NOTE: This takes care of a known suspend problem on OMAP3 where the
    TWL RTC driver does i2c xfers during its suspend path leaving the i2c
    driver in an active state (since runtime suspend transistions are
    disabled.)

    Signed-off-by: Kevin Hilman
    Signed-off-by: Ben Dooks

    Kevin Hilman
     
  • Use strlcpy instead of strncpy.

    Signed-off-by: Wolfram Sang
    Cc: Linus Walleij
    Cc: Ben Dooks
    Signed-off-by: Ben Dooks

    Wolfram Sang
     
  • Right now we, are relying on the fact that when we attempt to
    actually do the discard, blkdev_issue_discar() returns -EOPNOTSUPP
    and the user is informed that the device does not support discard.

    However, in the case where the we do not hit any suitable free
    extent to trim in FITRIM code, it will finish without any error.
    This is very confusing, because it seems that FITRIM was successful
    even though the device does not actually supports discard.

    Solution: Check for the discard support before attempt to search for
    free extents.

    Signed-off-by: Lukas Czerner
    Signed-off-by: Alex Elder

    Lukas Czerner
     
  • The FSGEOMETRY_V1 ioctl (and its compat equivalent) calls out to
    xfs_fs_geometry() with a version number of 3. This code path does not
    fill in the logsunit member of the passed xfs_fsop_geom_t, leading to
    the leaking of four bytes of uninitialized stack data to potentially
    unprivileged callers.

    v2 switches to memset() to avoid future issues if structure members
    change, on suggestion of Dave Chinner.

    Signed-off-by: Dan Rosenberg
    Reviewed-by: Eugene Teo
    Signed-off-by: Alex Elder

    Dan Rosenberg
     
  • David S. Miller
     
  • drivers/net/sfc/ethtool.c: In function ‘efx_ethtool_self_test’:
    drivers/net/sfc/ethtool.c:613: warning: the frame size of 1200 bytes
    is larger than 1024 bytes

    Signed-off-by: Eric Dumazet
    Acked-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Currently the bridge multicast snooping feature periodically issues
    IPv6 general multicast listener queries to sense the absence of a
    listener.

    For this, it uses :: as its source address - however RFC 2710 requires:
    "To be valid, the Query message MUST come from a link-local IPv6 Source
    Address". Current Linux kernel versions seem to follow this requirement
    and ignore our bogus MLD queries.

    With this commit a link local address from the bridge interface is being
    used to issue the MLD query, resulting in other Linux devices which are
    multicast listeners in the network to respond with a MLD response (which
    was not the case before).

    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing
     
  • Map the IPv6 header's destination multicast address to an ethernet
    source address instead of the MLD queries multicast address.

    For instance for a general MLD query (multicast address in the MLD query
    set to ::), this would wrongly be mapped to 33:33:00:00:00:00, although
    an MLD queries destination MAC should always be 33:33:00:00:00:01 which
    matches the IPv6 header's multicast destination ff02::1.

    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing
     
  • Currently the multicast bridge snooping support is not active for
    link local multicast. I assume this has been done to leave
    important multicast data untouched, like IPv6 Neighborhood Discovery.

    In larger, bridged, local networks it could however be desirable to
    optimize for instance local multicast audio/video streaming too.

    With the transient flag in IPv6 multicast addresses we have an easy
    way to optimize such multimedia traffic without tempering with the
    high priority multicast data from well-known addresses.

    This patch alters the multicast bridge snooping for IPv6, to take
    effect for transient multicast addresses instead of non-link-local
    addresses.

    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing
     
  • This commit adds the missing IPv6 multicast address flag defines to
    complement the already existing multicast address scope defines and to
    be able to check these flags nicely in the future.

    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing
     
  • The nsrcs number is 2 Byte wide, therefore we need to call ntohs()
    before using it.

    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing
     
  • We actually want a pointer to the grec_nsrcr and not the following
    field. Otherwise we can get very high values for *nsrcs as the first two
    bytes of the IPv6 multicast address are being used instead, leading to
    a failing pskb_may_pull() which results in MLDv2 reports not being
    parsed.

    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing