1. 04 5月, 2011 7 次提交
  2. 03 5月, 2011 7 次提交
  3. 02 5月, 2011 7 次提交
    • K
      omap:usb: add regulator support for EHCI · 6e3d4bec
      Keshava Munegowda 提交于
      in case of ehci phy mode; regulator of phy
      should be enabled before initializing the
      usbhs core driver.
      Signed-off-by: NKeshava Munegowda <keshava_mgowda@ti.com>
      Tested-by: NSteve Calfee <stevecalfee@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      6e3d4bec
    • A
      mfd: Fix usbhs_enable error handling · d11536e4
      Axel Lin 提交于
      In the case of missing platform_data we do not hold a spin_lock,
      thus we should not call spin_unlock_irqrestore in the error path.
      
      Also simplify the error handling by separating the successful path
      from error path. I think this change improves readability.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Tested-by: NSteve Calfee <stevecalfee@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      d11536e4
    • J
      usb: musb: gadget: Fix out-of-sync runtime pm calls · cdefce16
      Jarkko Nikula 提交于
      If cable is not connected to peripheral only board when initializing the
      gadget driver, then runtime pm calls are out-of-sync and the musb cannot
      idle with omap2430.c. This was noted on Nokia N900 where musb prevented the
      CPU to be able to enter deeper retention idle state.
      
      This was working in 2.6.38 before runtime pm conversions but there musb
      smart standby/idle modes were configured statically where they are now
      updated runtime depending on use and cable status.
      
      Reason for out-of-sync is that runtime pm is activated in function
      musb_gadget.c: usb_gadget_probe_driver but suspended only in OTG mode if
      cable is not connected when initializing. In peripheral only mode this leads
      to out-of-sync runtime pm since runtime pm remain active and is activated
      another time in omap2430.c: musb_otg_notifications for VBUS Connect event
      and thus cannot suspend for VBUS Disconnect event since the use count remains
      active.
      
      Fix this by moving cable status check and pm_runtime_put call in
      usb_gadget_probe_driver out of is_otg_enabled block.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      cdefce16
    • J
      usb: musb: omap2430: Fix retention idle on musb peripheral only boards · 383cf4e8
      Jarkko Nikula 提交于
      Recent runtime pm and hwmod conversions for 2.6.39 broke the musb peripheral
      mode OMAP retention idle on boards where the board mode in struct
      musb_hdrc_platform_data is set to MUSB_PERIPHERAL.
      
      These conversions changed the way how the OTG_SYSCONFIG register is
      configured and used in runtime. Before 2.6.39 smart standby/idle modes were
      activated statically in OTG_SYSCONFIG. Those modes allow that the musb is
      able to idle when peripheral device is not connected to host.
      
      In 2.6.39 the OTG_SYSCONFIG is updated runtime depending on VBUS status.
      No standby/idle modes are used when device is connected and force
      standby/idle when disconnected.
      
      Unfortunately VBUS disconnect event that handles the disconnect case lets
      the peripheral musb to idle only when board mode is MUSB_OTG. Fix this by
      checking the peripheral mode also.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      383cf4e8
    • J
      i2c-parport: Fix adapter list handling · 56acc7a3
      Jean Delvare 提交于
      Use a standard list with proper locking to handle the list of
      adapters. Thankfully it only matters on systems with more than one
      parallel port, which are very rare.
      
      Thanks to Lukasz Kapiec for reporting the problem to me.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: stable@kernel.org
      56acc7a3
    • J
      i2c-i801: Move device ID definitions to driver · a6e5e2be
      Jean Delvare 提交于
      Move the SMBus device ID definitions of recent devices from pci_ids.h
      to the i2c-i801.c driver file. They don't have to be shared, as they
      are clearly identified and only used in this driver. In the future,
      such IDs will go to i2c-i801 directly. This will make adding support
      for new devices much faster and easier, as it will avoid cross-
      subsystem patch sets and merge conflicts.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Seth Heasley <seth.heasley@intel.com>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      a6e5e2be
    • A
      hwmon: (twl4030-madc-hwmon) Return proper error if hwmon_device_register fails · c30aa39c
      Axel Lin 提交于
      The driver did not return an error if the call to hwmon_device_register failed.
      Fix by returning the error reported from hwmon_device_register.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
      c30aa39c
  4. 30 4月, 2011 7 次提交
    • R
      CLKDEV: Fix clkdev return value for NULL clk case · e8bf8df9
      Russell King 提交于
      clkdev may incorrectly cause a clkdev entry with a NULL clk to return
      -ENOENT.  This is not the intention of this code; -ENOENT should only
      be returned if the clock entry can not be found in the table.  Fix
      this.
      Reported-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      e8bf8df9
    • A
      mii: add support of pause frames in mii_get_an · 2b5a4ace
      artpol 提交于
      Add support of pause frames advertise in mii_get_an. This provides all drivers
      that use mii_ethtool_gset to represent their own and Link partner flow control
      abilities in ethtool.
      Signed-off-by: NArtem Polyakov <artpol84@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2b5a4ace
    • A
    • D
      usbnet: add support for some Huawei modems with cdc-ether ports · b3c914aa
      Dan Williams 提交于
      Some newer Huawei devices (T-Mobile Rocket, others) have cdc-ether
      compatible ports, so recognize and expose them.
      Signed-off-by: NDan Williams <dcbw@redhat.com>
      Acked-by: NOliver Neukum <oneukum@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b3c914aa
    • N
      bnx2: cancel timer on device removal · 8333a46a
      Neil Horman 提交于
      This oops was recently reported to me:
      
      invalid opcode: 0000 [#1] SMP
      last sysfs file:
      /sys/devices/pci0000:00/0000:00:01.0/0000:01:0d.0/0000:02:05.0/device
      CPU 1
      Modules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg
      microcode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4
      shpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
      scsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core
      dm_mod [last unloaded: bnx2]
      
      Modules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg
      microcode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4
      shpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
      scsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core
      dm_mod [last unloaded: bnx2]
      Pid: 23900, comm: pidof Not tainted 2.6.32-130.el6.x86_64 #1 BladeCenter LS21
      -[797251Z]-
      RIP: 0010:[<ffffffffa058b270>]  [<ffffffffa058b270>] 0xffffffffa058b270
      RSP: 0018:ffff880002083e48  EFLAGS: 00010246
      RAX: ffff880002083e90 RBX: ffff88007ccd4000 RCX: 0000000000000000
      RDX: 0000000000000100 RSI: dead000000200200 RDI: ffff8800007b8700
      RBP: ffff880002083ed0 R08: ffff88000208db40 R09: 0000022d191d27c8
      R10: 0000000000000000 R11: 0000000000000000 R12: ffff8800007b9bc8
      R13: ffff880002083e90 R14: ffff8800007b8700 R15: ffffffffa058b270
      FS:  00007fbb3bcf7700(0000) GS:ffff880002080000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000001664a98 CR3: 0000000060395000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process pidof (pid: 23900, threadinfo ffff8800007e8000, task ffff8800091c0040)
      Stack:
       ffffffff81079f77 ffffffff8109e010 ffff88007ccd5c20 ffff88007ccd5820
      <0> ffff88007ccd5420 ffff8800007e9fd8 ffff8800007e9fd8 0000010000000000
      <0> ffff88007ccd5020 ffff880002083e90 ffff880002083e90 ffffffff8102a00d
      Call Trace:
       <IRQ>
       [<ffffffff81079f77>] ? run_timer_softirq+0x197/0x340
       [<ffffffff8109e010>] ? tick_sched_timer+0x0/0xc0
       [<ffffffff8102a00d>] ? lapic_next_event+0x1d/0x30
       [<ffffffff8106f737>] __do_softirq+0xb7/0x1e0
       [<ffffffff81092cc0>] ? hrtimer_interrupt+0x140/0x250
       [<ffffffff81185f90>] ? filldir+0x0/0xe0
       [<ffffffff8100c2cc>] call_softirq+0x1c/0x30
       [<ffffffff8100df05>] do_softirq+0x65/0xa0
       [<ffffffff8106f525>] irq_exit+0x85/0x90
       [<ffffffff814e3340>] smp_apic_timer_interrupt+0x70/0x9b
       [<ffffffff8100bc93>] apic_timer_interrupt+0x13/0x20
       <EOI>
       [<ffffffff81211ba5>] ? selinux_file_permission+0x45/0x150
       [<ffffffff81262a75>] ? _atomic_dec_and_lock+0x55/0x80
       [<ffffffff812050c6>] security_file_permission+0x16/0x20
       [<ffffffff811861c1>] vfs_readdir+0x71/0xe0
       [<ffffffff81186399>] sys_getdents+0x89/0xf0
       [<ffffffff8100b172>] system_call_fastpath+0x16/0x1b
      
      It occured during some stress testing, in which the reporter was repeatedly
      removing and modprobing the bnx2 module while doing various other random
      operations on the bnx2 registered net device.  Noting that this error occured on
      a serdes based device, we noted that there were a few ethtool operations (most
      notably self_test and set_phys_id) that have execution paths that lead into
      bnx2_setup_serdes_phy.  This function is notable because it executes a mod_timer
      call, which starts the bp->timer running.  Currently bnx2 is setup to assume
      that this timer only nees to be stopped when bnx2_close or bnx2_suspend is
      called.  Since the above ethtool operations are not gated on the net device
      having been opened however, that assumption is incorrect, and can lead to the
      timer still running after the module has been removed, leading to the oops above
      (as well as other simmilar oopses).
      
      Fix the problem by ensuring that the timer is stopped when pci_device_unregister
      is called.
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Reported-by: NHushan Jia <hjia@redhat.com>
      CC: Michael Chan <mchan@broadcom.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Acked-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8333a46a
    • S
      iwl4965: fix "Received BA when not expected" · 16b345d8
      Stanislaw Gruszka 提交于
      Need to use broadcast sta_id for management frames, otherwise we broke
      BA session in the firmware and get messages like that:
      
      "Received BA when not expected"
      
      or (on older kernels):
      
      "BA scd_flow 0 does not match txq_id 10"
      
      This fix regression introduced in 2.6.35 during station management
      code rewrite by:
      
      commit 2a87c26b
      Author: Johannes Berg <johannes.berg@intel.com>
      Date:   Fri Apr 30 11:30:45 2010 -0700
      
          iwlwifi: use iwl_find_station less
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      16b345d8
    • S
      iwlagn: fix "Received BA when not expected" · bfd36103
      Stanislaw Gruszka 提交于
      Need to use broadcast sta_id for management frames, otherwise we broke
      BA session in the firmware and get messages like that:
      
      "Received BA when not expected"
      
      or (on older kernels):
      
      "BA scd_flow 0 does not match txq_id 10"
      
      This fix regression introduced in 2.6.35 during station management
      code rewrite by:
      
      commit 2a87c26b
      Author: Johannes Berg <johannes.berg@intel.com>
      Date:   Fri Apr 30 11:30:45 2010 -0700
      
          iwlwifi: use iwl_find_station less
      
      Patch partially resolve:
      https://bugzilla.kernel.org/show_bug.cgi?id=16691
      However, there are still 11n performance problems on 4965 and 5xxx
      devices that need to be investigated.
      
      Cc: stable@kernel.org # 2.6.35+
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      bfd36103
  5. 29 4月, 2011 12 次提交