1. Aug 26, 2014
  2. Aug 25, 2014
  3. Aug 23, 2014
  4. Aug 21, 2014
    • Philippe Reynes's avatar
      usb: gadget: remove $(PWD) in ccflags-y · 5d197038
      Philippe Reynes authored
      
      
      The variable $(PWD) is useless, and it may break the compilation.
      For example, it breaks the kernel compilation when it's done with
      buildroot :
      
        /home/trem/Codes/armadeus/armadeus/buildroot/output/host/usr/bin/ccache
      /home/trem/Codes/armadeus/armadeus/buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc
      -Wp,-MD,drivers/usb/gadget/legacy/.hid.o.d  -nostdinc -isystem
      /home/trem/Codes/armadeus/armadeus/buildroot/output/host/usr/lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/include
      -I./arch/arm/include -Iarch/arm/include/generated  -Iinclude
      -I./arch/arm/include/uapi -Iarch/arm/include/generated/uapi
      -I./include/uapi -Iinclude/generated/uapi -include
      ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef
      -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
      -Werror-implicit-function-declaration -Wno-format-security
      -fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp
      -funwind-tables -marm -D__LINUX_ARM_ARCH__=5 -march=armv5te
      -mtune=arm9tdmi -msoft-float -Uarm -fno-delete-null-pointer-checks -O2
      --param=allow-store-data-races=0 -Wframe-larger-than=1024
      -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer
      -fno-var-tracking-assignments -g -Wdeclaration-after-statement
      -Wno-pointer-sign -fno-strict-overflow -fconserve-stack
      -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO
      -I/home/trem/Codes/armadeus/armadeus/buildroot/drivers/usb/gadget/
      -I/home/trem/Codes/armadeus/armadeus/buildroot/drivers/usb/gadget/udc/
      -I/home/trem/Codes/armadeus/armadeus/buildroot/drivers/usb/gadget/function/
      -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(hid)"
      -D"KBUILD_MODNAME=KBUILD_STR(g_hid)" -c -o
      drivers/usb/gadget/legacy/hid.o drivers/usb/gadget/legacy/hid.c
      drivers/usb/gadget/epautoconf.c:23:26: erreur fatale: gadget_chips.h :
      Aucun fichier ou dossier de ce type
      
      This compilation line include :
      ..../buildroot/driver/usb/gadget
      but the real path is :
      ..../buildroot/output/build/linux-3.17-rc1/driver/usb/gadget
      
      Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      5d197038
  5. Aug 20, 2014
  6. Aug 19, 2014
    • Li RongQing's avatar
      Revert "usb: gadget: u_ether: synchronize with transmit when stopping queue" · 7166c32d
      Li RongQing authored
      This reverts commit a9232076.
      
      It introduced a dead lock, and did not fix anything.
      
      it made netif_tx_lock() be called in IRQ context, but in softirq context,
      the same lock is locked without disabling IRQ. In fact, the commit a9232076
      
      
      did not fix anything, since netif_stop_queue did not free the any resource
      
      [   10.154920] =================================
      [   10.156026] [ INFO: inconsistent lock state ]
      [   10.156026] 3.16.0-rc5+ #13 Not tainted
      [   10.156026] ---------------------------------
      [   10.156026] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
      [   10.156026] swapper/1/0 [HC0[0]:SC1[5]:HE1:SE0] takes:
      [   10.156026]  (_xmit_ETHER){?.-...}, at: [<80948b6a>] sch_direct_xmit+0x7a/0x250
      [   10.156026] {IN-HARDIRQ-W} state was registered at:
      [   10.156026]   [<804811f0>] __lock_acquire+0x800/0x17a0
      [   10.156026]   [<804828ba>] lock_acquire+0x6a/0xf0
      [   10.156026]   [<809ed477>] _raw_spin_lock+0x27/0x40
      [   10.156026]   [<8088d508>] gether_disconnect+0x68/0x280
      [   10.156026]   [<8088e777>] eem_set_alt+0x37/0xc0
      [   10.156026]   [<808847ce>] composite_setup+0x30e/0x1240
      [   10.156026]   [<8088b8ae>] pch_udc_isr+0xa6e/0xf50
      [   10.156026]   [<8048abe8>] handle_irq_event_percpu+0x38/0x1e0
      [   10.156026]   [<8048adc1>] handle_irq_event+0x31/0x50
      [   10.156026]   [<8048d94b>] handle_fasteoi_irq+0x6b/0x140
      [   10.156026]   [<804040a5>] handle_irq+0x65/0x80
      [   10.156026]   [<80403cfc>] do_IRQ+0x3c/0xc0
      [   10.156026]   [<809ee6ae>] common_interrupt+0x2e/0x34
      [   10.156026]   [<804668c5>] finish_task_switch+0x65/0xd0
      [   10.156026]   [<809e89df>] __schedule+0x20f/0x7d0
      [   10.156026]   [<809e94aa>] schedule_preempt_disabled+0x2a/0x70
      [   10.156026]   [<8047bf03>] cpu_startup_entry+0x143/0x410
      [   10.156026]   [<809e2e61>] rest_init+0xa1/0xb0
      [   10.156026]   [<80ce2a3b>] start_kernel+0x336/0x33b
      [   10.156026]   [<80ce22ab>] i386_start_kernel+0x79/0x7d
      [   10.156026] irq event stamp: 52070
      [   10.156026] hardirqs last  enabled at (52070): [<809375de>] neigh_resolve_output+0xee/0x2a0
      [   10.156026] hardirqs last disabled at (52069): [<809375a8>] neigh_resolve_output+0xb8/0x2a0
      [   10.156026] softirqs last  enabled at (52020): [<8044401f>] _local_bh_enable+0x1f/0x50
      [   10.156026] softirqs last disabled at (52021): [<80404036>] do_softirq_own_stack+0x26/0x30
      [   10.156026]
      [   10.156026] other info that might help us debug this:
      [   10.156026]  Possible unsafe locking scenario:
      [   10.156026]
      [   10.156026]        CPU0
      [   10.156026]        ----
      [   10.156026]   lock(_xmit_ETHER);
      [   10.156026]   <Interrupt>
      [   10.156026]     lock(_xmit_ETHER);
      [   10.156026]
      [   10.156026]  *** DEADLOCK ***
      [   10.156026]
      [   10.156026] 4 locks held by swapper/1/0:
      [   10.156026]  #0:  (((&idev->mc_ifc_timer))){+.-...}, at: [<8044b100>] call_timer_fn+0x0/0x190
      [   10.156026]  #1:  (rcu_read_lock){......}, at: [<a0577c40>] mld_sendpack+0x0/0x590 [ipv6]
      [   10.156026]  #2:  (rcu_read_lock_bh){......}, at: [<a055680c>] ip6_finish_output2+0x4c/0x7f0 [ipv6]
      [   10.156026]  #3:  (rcu_read_lock_bh){......}, at: [<8092e510>] __dev_queue_xmit+0x0/0x5f0
      [   10.156026]
      [   10.156026] stack backtrace:
      [   10.156026] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.16.0-rc5+ #13
      [   10.156026]  811dbb10 00000000 9e919d10 809e6785 9e8b8000 9e919d3c 809e561e 80b95511
      [   10.156026]  80b9545a 80b9543d 80b95450 80b95441 80b957e4 9e8b84e0 00000002 8047f7b0
      [   10.156026]  9e919d5c 8048043b 00000002 00000000 9e8b8000 00000001 00000004 9e8b8000
      [   10.156026] Call Trace:
      [   10.156026]  [<809e6785>] dump_stack+0x48/0x69
      [   10.156026]  [<809e561e>] print_usage_bug+0x18f/0x19c
      [   10.156026]  [<8047f7b0>] ? print_shortest_lock_dependencies+0x170/0x170
      [   10.156026]  [<8048043b>] mark_lock+0x53b/0x5f0
      [   10.156026]  [<804810cf>] __lock_acquire+0x6df/0x17a0
      [   10.156026]  [<804828ba>] lock_acquire+0x6a/0xf0
      [   10.156026]  [<80948b6a>] ? sch_direct_xmit+0x7a/0x250
      [   10.156026]  [<809ed477>] _raw_spin_lock+0x27/0x40
      [   10.156026]  [<80948b6a>] ? sch_direct_xmit+0x7a/0x250
      [   10.156026]  [<80948b6a>] sch_direct_xmit+0x7a/0x250
      [   10.156026]  [<8092e6bf>] __dev_queue_xmit+0x1af/0x5f0
      [   10.156026]  [<80947fc0>] ? ether_setup+0x80/0x80
      [   10.156026]  [<8092eb0f>] dev_queue_xmit+0xf/0x20
      [   10.156026]  [<8093764c>] neigh_resolve_output+0x15c/0x2a0
      [   10.156026]  [<a0556927>] ip6_finish_output2+0x167/0x7f0 [ipv6]
      [   10.156026]  [<a0559b05>] ip6_finish_output+0x85/0x1c0 [ipv6]
      [   10.156026]  [<a0559cb7>] ip6_output+0x77/0x240 [ipv6]
      [   10.156026]  [<a0578163>] mld_sendpack+0x523/0x590 [ipv6]
      [   10.156026]  [<80480501>] ? mark_held_locks+0x11/0x90
      [   10.156026]  [<a057947d>] mld_ifc_timer_expire+0x15d/0x280 [ipv6]
      [   10.156026]  [<8044b168>] call_timer_fn+0x68/0x190
      [   10.156026]  [<a0579320>] ? igmp6_group_added+0x150/0x150 [ipv6]
      [   10.156026]  [<8044b3fa>] run_timer_softirq+0x16a/0x240
      [   10.156026]  [<a0579320>] ? igmp6_group_added+0x150/0x150 [ipv6]
      [   10.156026]  [<80444984>] __do_softirq+0xd4/0x2f0
      [   10.156026]  [<804448b0>] ? tasklet_action+0x100/0x100
      [   10.156026]  [<80404036>] do_softirq_own_stack+0x26/0x30
      [   10.156026]  <IRQ>  [<80444d05>] irq_exit+0x65/0x70
      [   10.156026]  [<8042d758>] smp_apic_timer_interrupt+0x38/0x50
      [   10.156026]  [<809ee91f>] apic_timer_interrupt+0x2f/0x34
      [   10.156026]  [<8048007b>] ? mark_lock+0x17b/0x5f0
      [   10.156026]  [<8040a912>] ? default_idle+0x22/0xf0
      [   10.156026]  [<8040b13e>] arch_cpu_idle+0xe/0x10
      [   10.156026]  [<8047bfc6>] cpu_startup_entry+0x206/0x410
      [   10.156026]  [<8042bfbd>] start_secondary+0x19d/0x1e0
      
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Reported-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Jeff Westfahl <jeff.westfahl@ni.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: <linux-usb@vger.kernel.org>
      Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      7166c32d
    • Wei Yongjun's avatar
      usb: phy: msm: Fix return value check in msm_otg_probe() · 716d28e2
      Wei Yongjun authored
      
      
      In case of error, the function devm_ioremap_nocache() returns NULL
      pointer not ERR_PTR(). The IS_ERR() test in the return value check
      should be replaced with NULL test.
      
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      716d28e2
    • Wei Yongjun's avatar
      usb: gadget: Fix return value check in r8a66597_probe() · 4b11f888
      Wei Yongjun authored
      
      
      In case of error, the function devm_ioremap_resource() returns ERR_PTR()
      and never returns NULL. The NULL test in the return value check should
      be replaced with IS_ERR().
      
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      4b11f888
    • Wei Yongjun's avatar
      usb: gadget: Fix return value check in ep_write() · 7042e8f2
      Wei Yongjun authored
      
      
      In case of error, the function memdup_user() returns ERR_PTR()
      and never returns NULL. The NULL test in the return value check
      should be replaced with IS_ERR().
      
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      7042e8f2
    • Dan Carpenter's avatar
      usb: dwc3: omap: signedness bug in dwc3_omap_set_utmi_mode() · 788b0bc4
      Dan Carpenter authored
      
      
      "ret" should be signed.  It's only used for zero and negative error
      codes.
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      788b0bc4
    • Hans Wennborg's avatar
      usb: musb: ux500: fix decimal printf format specifiers prefixed with 0x · 50f9f798
      Hans Wennborg authored
      
      
      The prefix suggests the number should be printed in hex, so use
      the %x specifier to do that.
      
      Found by using regex suggested by Joe Perches.
      
      Signed-off-by: default avatarHans Wennborg <hans@hanshq.net>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      50f9f798
    • Bo Shen's avatar
      usb: atmel_usba_udc: fix it to deal with final dma channel · bcabdc24
      Bo Shen authored
      
      
      As, the interrupt for DMA is counted from 1, so need to checked
      the USBA_NR_DMAS, in old way, it only check (USBA_NR_DMAS - 1),
      so fix it.
      
      Reported-by: default avatarMax Liao <liaops@embest-tech.com>
      Signed-off-by: default avatarBo Shen <voice.shen@atmel.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      bcabdc24
    • Julia Lawall's avatar
      usb: gadget: fix error return code · 20e7d465
      Julia Lawall authored
      Convert a zero return value on error to a negative one, as returned
      elsewhere in the function.
      
      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/
      
      )
      
      // <smpl>
      @@
      identifier ret; expression e1,e2;
      @@
      (
      if (\(ret < 0\|ret != 0\))
       { ... return ret; }
      |
      ret = 0
      )
      ... when != ret = e1
          when != &ret
      *if(...)
      {
        ... when != ret = e2
            when forall
       return ret;
      }
      // </smpl>
      
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      20e7d465
    • Jingoo Han's avatar
      usb: phy: samsung: Fix wrong bit mask for PHYPARAM1_PCS_TXDEEMPH · bbc66e14
      Jingoo Han authored
      
      
      According to the datasheet, PHYPARAM1_PCS_TXDEEMPH is set as
      6 bits [5:0]. Thus, the bit mask should be set as 0x3f, instead
      of 0x1f.
      
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      bbc66e14
    • Alexey Khoroshilov's avatar
      usb: dbgp gadget: fix use after free in dbgp_unbind() · 4958cf32
      Alexey Khoroshilov authored
      
      
      After dbgp_bind()-dbgp_unbind() cycle happens, static variable dbgp
      contains pointers to already deallocated memory (dbgp.serial and dbgp.req).
      If the next dbgp_bind() fails, for example in usb_ep_alloc_request(),
      dbgp_bind() calls dbgp_unbind() on failure path,
      and dbgp_unbind() frees dbgp.serial that still stores a pointer
      to already deallocated memory.
      
      The patch sets pointers to NULL in dbgp_unbind().
      
      Found by Linux Driver Verification project (linuxtesting.org).
      
      Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      4958cf32
    • Himangi Saraogi's avatar
      usb: phy: drop kfree of devm_kzalloc's data · 0c582408
      Himangi Saraogi authored
      
      
      Using kfree to free data allocated with devm_kzalloc causes double frees.
      
      The Coccinelle semantic patch that fixes this problem is as follows:
      
      // <smpl>
      @@
      expression x;
      @@
      
      x = devm_kzalloc(...)
      ...
      ?-kfree(x);
      // </smpl>
      
      Reviewed-by: default avatarJingoo Han <jg1.han@samsung.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      0c582408
    • Arjun Sreedharan's avatar
      usb: phy: return -ENODEV on failure of try_module_get · 2c4e3dbf
      Arjun Sreedharan authored
      
      
      When __usb_find_phy_dev() does not return error and
      try_module_get() fails, return -ENODEV.
      
      Signed-off-by: default avatarArjun Sreedharan <arjun024@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      2c4e3dbf
  7. Aug 18, 2014
  8. Aug 17, 2014
  9. Aug 16, 2014
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 605f884d
      Linus Torvalds authored
      Pull x86 platform driver updates from Matthew Garrett:
       "A moderate number of changes, but nothing awfully significant.
      
        A lot of const cleanups, some reworking and additions to the rfkill
        quirks in the asus driver, a new driver for generating falling laptop
        events on Toshibas and some misc fixes.
      
        Maybe vendors have stopped inventing things"
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (41 commits)
        platform/x86: Enable build support for toshiba_haps
        Documentation: Add file about toshiba_haps module
        platform/x86: Toshiba HDD Active Protection Sensor
        asus-nb-wmi: Add wapf4 quirk for the U32U
        alienware-wmi: make hdmi_mux enabled on case-by-case basis
        ideapad-laptop: Constify DMI table and other r/o variables
        asus-nb-wmi.c: Rename x401u quirk to wapf4
        compal-laptop: correct invalid hwmon name
        toshiba_acpi: Add Qosmio X75-A to the alt keymap dmi list
        toshiba_acpi: Add extra check to backlight code
        Fix log message about future removal of interface
        ideapad-laptop: Disable touchpad interface on Yoga models
        asus-nb-wmi: Add wapf4 quirk for the X550CC
        intel_ips: Make ips_mcp_limits variables static
        thinkpad_acpi: Mark volume_alsa_control_{vol,mute} as __initdata
        fujitsu-laptop: Mark fujitsu_dmi_table[] DMI table as __initconst
        hp-wmi: Add missing __init annotations to initialization code
        hp_accel: Constify ACPI and DMI tables
        fujitsu-tablet: Mark DMI callbacks as __init code
        dell-laptop: Mark dell_quirks[] DMI table as __initconst
        ...
      605f884d
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · 49899007
      Linus Torvalds authored
      Pull idle update from Len Brown:
       "Two Intel-platform-specific updates to intel_idle, and a cosmetic
        tweak to the turbostat utility"
      
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        tools/power turbostat: tweak whitespace in output format
        intel_idle: Broadwell support
        intel_idle: Disable Baytrail Core and Module C6 auto-demotion
      49899007
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 6fedb0ff
      Linus Torvalds authored
      Pull module fix from Rusty Russell:
       "Nasty potential bug if someone uses a known module param with an
        invalid value (we don't fail unknown module params any more, just
        warn)"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        module: Clean up ro/nx after early module load failures
      6fedb0ff
    • Linus Torvalds's avatar
      Merge branch 'rng-queue' of git://git.kernel.org/pub/scm/linux/kernel/git/amit/virtio · 90c80969
      Linus Torvalds authored
      Pull virtio-rng update from Amit Shah:
       "Add derating factor for use by hwrng core
      
        Sending directly to you with the commit log changes Ted Ts'o pointed
        out.  Not sure if Rusty's back after his travel, but this already has
        his s-o-b"
      
      * 'rng-queue' of git://git.kernel.org/pub/scm/linux/kernel/git/amit/virtio:
        virtio: rng: add derating factor for use by hwrng core
      90c80969
    • Linus Torvalds's avatar
      Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · e64df3eb
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "These are all fixes I'd like to get out to a broader audience.
      
        The biggest of the bunch is Mark's quota fix, which is also in the
        SUSE kernel, and makes our subvolume quotas dramatically more
        accurate.
      
        I've been running xfstests with these against your current git
        overnight, but I'm queueing up longer tests as well"
      
      * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        btrfs: disable strict file flushes for renames and truncates
        Btrfs: fix csum tree corruption, duplicate and outdated checksums
        Btrfs: Fix memory corruption by ulist_add_merge() on 32bit arch
        Btrfs: fix compressed write corruption on enospc
        btrfs: correctly handle return from ulist_add
        btrfs: qgroup: account shared subtrees during snapshot delete
        Btrfs: read lock extent buffer while walking backrefs
        Btrfs: __btrfs_mod_ref should always use no_quota
        btrfs: adjust statfs calculations according to raid profiles
      e64df3eb