Commits on Mar 1, 2012
  1. add defconfig

    Signed-off-by: Koen Kooi <>
    koenkooi committed Mar 1, 2012
  2. update bootlogo

    Signed-off-by: Koen Kooi <>
    koenkooi committed Mar 1, 2012
  3. ARM: OMAP2+: am335x: correct McASP0 pin mux detail

    McASP0 AXR3 pin mux-mode was incorrect specified in mux file. This
    patch corrects the same.
    Signed-off-by: Hebbar, Gururaja <>
    ghebbar committed with koenkooi Feb 27, 2012
  4. ARM: OMAP2+: am33xx: fix serial mux warnings for am33xx

    The patch removes below warning in serial mux setup on AM335x platform
    [    0.162052] _omap_mux_get_by_name: Could not find signal
    [    0.169437] omap_hwmod_mux_init: Could not allocate device mux entry
    [    0.176384] _omap_mux_get_by_name: Could not find signal
    [    0.183735] omap_hwmod_mux_init: Could not allocate device mux entry
    [    0.190663] _omap_mux_get_by_name: Could not find signal
    [    0.198926] omap_hwmod_mux_init: Could not allocate device mux entry
    Signed-off-by: Hebbar, Gururaja <>
    ghebbar committed with koenkooi Jan 24, 2012
  5. beaglebone: add support for Towertech TT3201 CAN cape

    Signed-off-by: Koen Kooi <>
    dwery committed with koenkooi Feb 9, 2012
  6. beaglebone: use P8_6 (gpio1_3) as w1 bus

    Signed-off-by: Koen Kooi <>
    koenkooi committed Feb 7, 2012
  7. st7735fb: WIP framebuffer driver supporting Adafruit 1.8" SPI LCD

    Signed-off-by: Matt Porter <>
    Signed-off-by: Koen Kooi <>
    Matt Porter committed with koenkooi Nov 21, 2011
  8. beaglebone: set default brightness to 50% for pwm backlights

    Signed-off-by: Koen Kooi <>
    koenkooi committed Feb 1, 2012
  9. omap_hsmmc: Set dto to max value of 14 to avoid SD Card timeouts

    This fixes MMC errors due to timeouts on certain SD Cards following suggestions
    to set dto to 14 by Jason Kridner and Steven Kipisz
    Details of the issue:
    This fix was originally proposed by Sukumar Ghoral of TI.
    sakoman committed with koenkooi Jul 19, 2011
  10. beaglebone: enable PWM for lcd backlight <- backlight is inverted

    Signed-off-by: Koen Kooi <>
    koenkooi committed Jan 31, 2012
  11. AM335x: MUX: add ehrpwm1A

    Signed-off-by: Koen Kooi <>
    koenkooi committed Jan 31, 2012
  12. beaglebone: fix ADC init

    Signed-off-by: Koen Kooi <>
    koenkooi committed Jan 31, 2012
  13. tscadc: switch to polling instead of interrupts

    Signed-off-by: Joel A Fernandes <>
    Joel A Fernandes committed with koenkooi Nov 29, 2011
  14. meta-ti: Remove debug messages for meta-ti

    Signed-off-by: Joel A Fernandes <>
    Joel A Fernandes committed with koenkooi Nov 29, 2011
  15. tscadc: Trigger through sysfs

    Signed-off-by: Joel A Fernandes <>
    Joel A Fernandes committed with koenkooi Nov 29, 2011
  16. tscadc: make stepconfig channel-configurable

    Signed-off-by: Joel A Fernandes <>
    Joel A Fernandes committed with koenkooi Nov 29, 2011
  17. AM335X: init tsc bone style for new boards

    Signed-off-by: Joel A Fernandes <>
    Joel A Fernandes committed with koenkooi Nov 30, 2011
  18. tscadc: Add board file mfd support, fix warning

    Signed-off-by: Joel A Fernandes <>
    Joel A Fernandes committed with koenkooi Nov 30, 2011
  19. tscadc: Add general purpose mode, untested with touchscreen functiona…

    Signed-off-by: Joel A Fernandes <>
    	[Fixed by Koen - needs review]
    Joel A Fernandes committed with koenkooi Nov 30, 2011
  20. beaglebone: disable tsadc

    Signed-off-by: Koen Kooi <>
    koenkooi committed Jan 31, 2012
  21. more beaglebone merges

    Signed-off-by: Koen Kooi <>
    koenkooi committed Jan 31, 2012
  22. da8xx-fb: add DVI support for beaglebone

    Signed-off-by: Koen Kooi <>
    koenkooi committed Nov 3, 2011
  23. f_rndis: HACK around undefined variables

    Signed-off-by: Koen Kooi <>
    koenkooi committed Oct 7, 2011
  24. Linux 3.2.9

    gregkh committed with koenkooi Mar 1, 2012
  25. cdrom: use copy_to_user() without the underscores

    commit 822bfa5 upstream.
    "nframes" comes from the user and "nframes * CD_FRAMESIZE_RAW" can wrap
    on 32 bit systems.  That would have been ok if we used the same wrapped
    value for the copy, but we use a shifted value.  We should just use the
    checked version of copy_to_user() because it's not going to make a
    difference to the speed.
    Signed-off-by: Dan Carpenter <>
    Signed-off-by: Jens Axboe <>
    Signed-off-by: Greg Kroah-Hartman <>
    Dan Carpenter committed with koenkooi Feb 6, 2012
  26. epoll: limit paths

    commit 28d82dc upstream.
    The current epoll code can be tickled to run basically indefinitely in
    both loop detection path check (on ep_insert()), and in the wakeup paths.
    The programs that tickle this behavior set up deeply linked networks of
    epoll file descriptors that cause the epoll algorithms to traverse them
    indefinitely.  A couple of these sample programs have been previously
    posted in this thread:
    To fix the loop detection path check algorithms, I simply keep track of
    the epoll nodes that have been already visited.  Thus, the loop detection
    becomes proportional to the number of epoll file descriptor and links.
    This dramatically decreases the run-time of the loop check algorithm.  In
    one diabolical case I tried it reduced the run-time from 15 mintues (all
    in kernel time) to .3 seconds.
    Fixing the wakeup paths could be done at wakeup time in a similar manner
    by keeping track of nodes that have already been visited, but the
    complexity is harder, since there can be multiple wakeups on different
    cpus...Thus, I've opted to limit the number of possible wakeup paths when
    the paths are created.
    This is accomplished, by noting that the end file descriptor points that
    are found during the loop detection pass (from the newly added link), are
    actually the sources for wakeup events.  I keep a list of these file
    descriptors and limit the number and length of these paths that emanate
    from these 'source file descriptors'.  In the current implemetation I
    allow 1000 paths of length 1, 500 of length 2, 100 of length 3, 50 of
    length 4 and 10 of length 5.  Note that it is sufficient to check the
    'source file descriptors' reachable from the newly added link, since no
    other 'source file descriptors' will have newly added links.  This allows
    us to check only the wakeup paths that may have gotten too long, and not
    re-check all possible wakeup paths on the system.
    In terms of the path limit selection, I think its first worth noting that
    the most common case for epoll, is probably the model where you have 1
    epoll file descriptor that is monitoring n number of 'source file
    descriptors'.  In this case, each 'source file descriptor' has a 1 path of
    length 1.  Thus, I believe that the limits I'm proposing are quite
    reasonable and in fact may be too generous.  Thus, I'm hoping that the
    proposed limits will not prevent any workloads that currently work to
    In terms of locking, I have extended the use of the 'epmutex' to all
    epoll_ctl add and remove operations.  Currently its only used in a subset
    of the add paths.  I need to hold the epmutex, so that we can correctly
    traverse a coherent graph, to check the number of paths.  I believe that
    this additional locking is probably ok, since its in the setup/teardown
    paths, and doesn't affect the running paths, but it certainly is going to
    add some extra overhead.  Also, worth noting is that the epmuex was
    recently added to the ep_ctl add operations in the initial path loop
    detection code using the argument that it was not on a critical path.
    Another thing to note here, is the length of epoll chains that is allowed.
    Currently, eventpoll.c defines:
    /* Maximum number of nesting allowed inside epoll sets */
    #define EP_MAX_NESTS 4
    This basically means that I am limited to a graph depth of 5 (EP_MAX_NESTS
    + 1).  However, this limit is currently only enforced during the loop
    check detection code, and only when the epoll file descriptors are added
    in a certain order.  Thus, this limit is currently easily bypassed.  The
    newly added check for wakeup paths, stricly limits the wakeup paths to a
    length of 5, regardless of the order in which ep's are linked together.
    Thus, a side-effect of the new code is a more consistent enforcement of
    the graph depth.
    Thus far, I've tested this, using the sample programs previously
    mentioned, which now either return quickly or return -EINVAL.  I've also
    testing using the piptest.c epoll tester, which showed no difference in
    performance.  I've also created a number of different epoll networks and
    tested that they behave as expectded.
    I believe this solves the original diabolical test cases, while still
    preserving the sane epoll nesting.
    Signed-off-by: Jason Baron <>
    Cc: Nelson Elhage <>
    Cc: Davide Libenzi <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Linus Torvalds <>
    Signed-off-by: Greg Kroah-Hartman <>
    jibaron committed with koenkooi Jan 13, 2012
  27. epoll: ep_unregister_pollwait() can use the freed pwq->whead

    commit 971316f upstream.
    signalfd_cleanup() ensures that ->signalfd_wqh is not used, but
    this is not enough. eppoll_entry->whead still points to the memory
    we are going to free, ep_unregister_pollwait()->remove_wait_queue()
    is obviously unsafe.
    Change ep_poll_callback(POLLFREE) to set eppoll_entry->whead = NULL,
    change ep_unregister_pollwait() to check pwq->whead != NULL under
    rcu_read_lock() before remove_wait_queue(). We add the new helper,
    ep_remove_wait_queue(), for this.
    This works because sighand_cachep is SLAB_DESTROY_BY_RCU and because
    ->signalfd_wqh is initialized in sighand_ctor(), not in copy_sighand.
    ep_unregister_pollwait()->remove_wait_queue() can play with already
    freed and potentially reused ->sighand, but this is fine. This memory
    must have the valid ->signalfd_wqh until rcu_read_unlock().
    Reported-by: Maxime Bizon <>
    Signed-off-by: Oleg Nesterov <>
    Signed-off-by: Linus Torvalds <>
    Signed-off-by: Greg Kroah-Hartman <>
    utrace committed with koenkooi Feb 24, 2012
  28. epoll: introduce POLLFREE to flush ->signalfd_wqh before kfree()

    commit d80e731 upstream.
    This patch is intentionally incomplete to simplify the review.
    It ignores ep_unregister_pollwait() which plays with the same wqh.
    See the next change.
    epoll assumes that the EPOLL_CTL_ADD'ed file controls everything
    f_op->poll() needs. In particular it assumes that the wait queue
    can't go away until eventpoll_release(). This is not true in case
    of signalfd, the task which does EPOLL_CTL_ADD uses its ->sighand
    which is not connected to the file.
    This patch adds the special event, POLLFREE, currently only for
    epoll. It expects that init_poll_funcptr()'ed hook should do the
    necessary cleanup. Perhaps it should be defined as EPOLLFREE in
    __cleanup_sighand() is changed to do wake_up_poll(POLLFREE) if
    ->signalfd_wqh is not empty, we add the new signalfd_cleanup()
    ep_poll_callback(POLLFREE) simply does list_del_init(task_list).
    This make this poll entry inconsistent, but we don't care. If you
    share epoll fd which contains our sigfd with another process you
    should blame yourself. signalfd is "really special". I simply do
    not know how we can define the "right" semantics if it used with
    The main problem is, epoll calls signalfd_poll() once to establish
    the connection with the wait queue, after that signalfd_poll(NULL)
    returns the different/inconsistent results depending on who does
    EPOLL_CTL_MOD/signalfd_read/etc. IOW: apart from sigmask, signalfd
    has nothing to do with the file, it works with the current thread.
    In short: this patch is the hack which tries to fix the symptoms.
    It also assumes that nobody can take tasklist_lock under epoll
    locks, this seems to be true.
    	- we do not have wake_up_all_poll() but wake_up_poll()
    	  is fine, poll/epoll doesn't use WQ_FLAG_EXCLUSIVE.
    	- signalfd_cleanup() uses POLLHUP along with POLLFREE,
    	  we need a couple of simple changes in eventpoll.c to
    	  make sure it can't be "lost".
    Reported-by: Maxime Bizon <>
    Signed-off-by: Oleg Nesterov <>
    Signed-off-by: Linus Torvalds <>
    Signed-off-by: Greg Kroah-Hartman <>
    utrace committed with koenkooi Feb 24, 2012
  29. hwmon: (f75375s) Fix register write order when setting fans to full s…

    commit c1c1a3d upstream.
    By hwmon sysfs interface convention, setting pwm_enable to zero sets a fan
    to full speed.  In the f75375s driver, this need be done by enabling
    manual fan control, plus duty mode for the F875387 chip, and then setting
    the maximum duty cycle.  Fix a bug where the two necessary register writes
    were swapped, effectively discarding the setting to full-speed.
    Signed-off-by: Nikolaus Schulz <>
    Cc: Riku Voipio <>
    Signed-off-by: Guenter Roeck <>
    Signed-off-by: Greg Kroah-Hartman <>
    Nikolaus Schulz committed with koenkooi Feb 22, 2012
  30. imon: don't wedge hardware after early callbacks

    commit 8791d63 upstream.
    This patch is just a minor update to one titled "imon: Input from ffdc
    device type ignored" from Corinna Vinschen. An earlier patch to prevent
    an oops when we got early callbacks also has the nasty side-effect of
    wedging imon hardware, as we don't acknowledge the urb. Rework the check
    slightly here to bypass processing the packet, as the driver isn't yet
    fully initialized, but still acknowlege the urb and submit a new rx_urb.
    Do this for both interfaces -- irrelevant for ffdc hardware, but
    relevant for newer hardware, though newer hardware doesn't spew the
    constant stream of data as soon as the hardware is initialized like the
    older ffdc devices, so they'd be less likely to trigger this anyway...
    Tested with both an ffdc device and an 0042 device.
    Reported-by: Corinna Vinschen <>
    Signed-off-by: Jarod Wilson <>
    Signed-off-by: Mauro Carvalho Chehab <>
    Signed-off-by: Greg Kroah-Hartman <>
    jarodwilson committed with koenkooi Jan 26, 2012
  31. hdpvr: fix race conditon during start of streaming

    commit afa1595 upstream.
    status has to be set to STREAMING before the streaming worker is
    queued. hdpvr_transmit_buffers() will exit immediately otherwise.
    Reported-by: Joerg Desch <>
    Signed-off-by: Mauro Carvalho Chehab <>
    Signed-off-by: Greg Kroah-Hartman <>
    jannau committed with koenkooi Feb 2, 2012
  32. can: sja1000: fix isr hang when hw is unplugged under load

    commit a7762b1 upstream.
    In the case of hotplug enabled devices (PCMCIA/PCIeC) the removal of the
    hardware can cause an infinite loop in the common sja1000 isr.
    Use the already retrieved status register to indicate a possible hardware
    removal and double check by reading the mode register in sja1000_is_absent.
    Signed-off-by: Oliver Hartkopp <>
    Acked-by: Wolfgang Grandegger <>
    Signed-off-by: Marc Kleine-Budde <>
    Signed-off-by: Greg Kroah-Hartman <>
    hartkopp committed with koenkooi Feb 15, 2012
  33. builddeb: Don't create files in /tmp with predictable names

    commit 6c63522 upstream.
    The current use of /tmp for file lists is insecure.  Put them under
    $objtree/debian instead.
    Signed-off-by: Ben Hutchings <>
    Acked-by: maximilian attems <>
    Signed-off-by: Michal Marek <>
    Signed-off-by: Greg Kroah-Hartman <>
    bwhacks committed with koenkooi Feb 15, 2012
  34. davinci_emac: Do not free all rx dma descriptors during init

    commit 5d69703 upstream.
    This patch fixes a regression that was introduced by
    commit 0a5f384
    davinci_emac: Add Carrier Link OK check in Davinci RX Handler
    Said commit adds a check whether the carrier link is ok. If the link is
    not ok, the skb is freed and no new dma descriptor added to the rx dma
    channel. This causes trouble during initialization when the carrier
    status has not yet been updated. If a lot of packets are received while
    netif_carrier_ok returns false, all dma descriptors are freed and the
    rx dma transfer is stopped.
    The bug occurs when the board is connected to a network with lots of
    traffic and the ifconfig down/up is done, e.g., when reconfiguring
    the interface with DHCP.
    The bug can be reproduced by flood pinging the davinci board while doing
    ifconfig eth0 down
    ifconfig eth0 up
    on the board.
    After that, the rx path stops working and the overrun value reported
    by ifconfig is counting up.
    This patch reverts commit 0a5f384
    and instead issues warnings only if cpdma_chan_submit returns -ENOMEM.
    Signed-off-by: Christian Riesch <>
    Cc: Cyril Chemparathy <>
    Cc: Sascha Hauer <>
    Tested-by: Rajashekhara, Sudhakar <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
    Christian Riesch committed with koenkooi Feb 23, 2012