1. 05 3月, 2012 3 次提交
    • W
      mmc: mmci: reduce max_blk_count to avoid overflowing max_req_size · 8f7f6b7e
      Will Deacon 提交于
      On a system with large pages (64k in my case), the following BUG is
      triggered in MMC core:
      
      [    2.338023] BUG: failure at drivers/mmc/core/core.c:221/mmc_start_request()!
      [    2.338102] Kernel panic - not syncing: BUG!
      [    2.338155] Call trace:
      [    2.338228] [<ffffffc00008635c>] dump_backtrace+0x0/0x120
      [    2.338317] [<ffffffc0003365ec>] dump_stack+0x14/0x1c
      [    2.338403] [<ffffffc000336990>] panic+0xbc/0x1f0
      [    2.338498] [<ffffffc00027a494>] mmc_start_request+0x154/0x184
      [    2.338600] [<ffffffc00027abdc>] mmc_start_req+0x110/0x140
      [    2.338701] [<ffffffc00028604c>] mmc_blk_issue_rw_rq+0x7c/0x39c
      [    2.338804] [<ffffffc00028652c>] mmc_blk_issue_rq+0x1c0/0x468
      [    2.338905] [<ffffffc000287564>] mmc_queue_thread+0x68/0x118
      [    2.338995] [<ffffffc0000bc308>] kthread+0x84/0x8c
      
      This is because of a 64k request with a max_req_size of 64k-1 bytes.
      
      The following patch fixes the problem by limiting the max_blk_count
      such that max_blk_count * max_blk_size == max_req_size. I couldn't
      pursuade the compiler to emit a shift instead of a div without encoding
      the shift explicitly.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      8f7f6b7e
    • S
      mmc: sdhci-esdhc-imx: fix for mmc cards on i.MX5 · 5b6b0ad6
      Sascha Hauer 提交于
      On i.MX53 we have to write a special SDHCI_CMD_ABORTCMD to the
      SDHCI_TRANSFER_MODE register during a MMC_STOP_TRANSMISSION
      command. This works for SD cards. However, with MMC cards
      the MMC_SET_BLOCK_COUNT command is used instead, but this
      needs the same handling. Fix MMC cards by testing for the
      MMC_SET_BLOCK_COUNT command aswell. Tested on a custom i.MX53
      board with a Transcend MMC+ card and eMMC.
      
      The kernel started used MMC_SET_BLOCK_COUNT in 3.0, so this
      is a regression for these boards introduced in 3.0; it should
      go to 3.0/3.1/3.2-stable.
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      Acked-by: NShawn Guo <shawn.guo@linaro.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      5b6b0ad6
    • G
      mmc: core: fix regression: set default clock gating delay to 0 · c84f15ae
      Guennadi Liakhovetski 提交于
      A recent commit "mmc: core: Use delayed work in clock gating framework"
      (597dd9d7) introduced a default 200ms delay before clock gating
      actually takes place.  This means that every time an MMC interface
      becomes idle it first stays on for 200ms before gating its clock. This
      leads to increased power consumption and is therefore a clear regression.
      This patch restores the original behaviour by setting the default delay
      to 0. Users prioritising throughput over power efficiency can still
      modify the delay via sysfs.
      Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      c84f15ae
  2. 03 3月, 2012 1 次提交
  3. 01 3月, 2012 2 次提交
    • A
      virtio: balloon: leak / fill balloon across S4 · 4eb05d56
      Amit Shah 提交于
      commit e562966d added support for S4 to
      the balloon driver.  The freeze function did nothing to free the pages,
      since reclaiming the pages from the host to immediately give them back
      (if S4 was successful) seemed wasteful.  Also, if S4 wasn't successful,
      the guest would have to re-fill the balloon.  On restore, the pages were
      supposed to be marked freed and the free page counters were incremented
      to reflect the balloon was totally deflated.
      
      However, this wasn't done right.  The pages that were earlier taken away
      from the guest during a balloon inflation operation were just shown as
      used pages after a successful restore from S4.  Just a fancy way of
      leaking lots of memory.
      
      Instead of trying that, just leak the balloon on freeze and fill it on
      restore/thaw paths.  This works properly now.  The optimisation to not
      leak can be added later on after a bit of refactoring of the code.
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      4eb05d56
    • S
      drm/radeon/kms/vm: fix possible bug in radeon_vm_bo_rmv() · 108b0d34
      Sebastian Biemueller 提交于
      The bo is removed from the list at the top of
      radeon_vm_bo_rmv(), but then the list is used
      in radeon_vm_bo_update_pte() to look up the vm.
      remove the bo_list entry at the end of the
      function instead.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NJerome Glisse <j.glisse@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      108b0d34
  4. 29 2月, 2012 7 次提交
  5. 28 2月, 2012 1 次提交
    • C
      drm/i915: Remove use of the autoreported ringbuffer HEAD position · 5d031e5b
      Chris Wilson 提交于
      This is a revert of 6aa56062.
      
      This was originally introduced to workaround reads of the ringbuffer
      registers returning 0 on SandyBridge causing hangs due to ringbuffer
      overflow. The root cause here was reads through the GT powerwell require
      the forcewake dance, something we only learnt of later. Now it appears
      that reading the reported head position from the HWS is returning
      garbage, leading once again to hangs.
      
      For example, on q35 the autoreported head reports:
        [  217.975608] head now 00010000, actual 00010000
        [  436.725613] head now 00200000, actual 00200000
        [  462.956033] head now 00210000, actual 00210010
        [  485.501409] head now 00400000, actual 00400020
        [  508.064280] head now 00410000, actual 00410000
        [  530.576078] head now 00600000, actual 00600020
        [  553.273489] head now 00610000, actual 00610018
      which appears reasonably sane. In contrast, if we look at snb:
        [  141.970680] head now 00e10000, actual 00008238
        [  141.974062] head now 02734000, actual 000083c8
        [  141.974425] head now 00e10000, actual 00008488
        [  141.980374] head now 032b5000, actual 000088b8
        [  141.980885] head now 03271000, actual 00008950
        [  142.040628] head now 02101000, actual 00008b40
        [  142.180173] head now 02734000, actual 00009050
        [  142.181090] head now 00000000, actual 00000ae0
        [  142.183737] head now 02734000, actual 00009050
      
      In addition, the automatic reporting of the head position is scheduled
      to be defeatured in the future. It has no more utility, remove it.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45492Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Tested-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      5d031e5b
  6. 27 2月, 2012 2 次提交
  7. 25 2月, 2012 7 次提交
  8. 24 2月, 2012 9 次提交
  9. 23 2月, 2012 8 次提交
    • N
      hwmon: (f75375s) Fix register write order when setting fans to full speed · c1c1a3d0
      Nikolaus Schulz 提交于
      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: NNikolaus Schulz <mail@microschulz.de>
      Cc: Riku Voipio <riku.voipio@iki.fi>
      Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
      c1c1a3d0
    • G
      hwmon: (ads1015) Fix file leak in probe function · 363434b5
      Guenter Roeck 提交于
      An error while creating sysfs attribute files in the driver's probe function
      results in an error abort, but already created files are not removed. This patch
      fixes the problem.
      Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
      Cc: stable@vger.kernel.org # 3.0+
      Cc: Dirk Eibach <eibach@gdsys.de>
      Acked-by: NJean Delvare <khali@linux-fr.org>
      363434b5
    • D
      mlx4_core: Exported functions can't be static · 22c8bff6
      Doug Ledford 提交于
      At least on powerpc, it breaks the build if exported functions are
      static.  Fix some static exported functions introduced with the mlx4
      SR-IOV support added in 3.3-rc1.
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      22c8bff6
    • S
      Move Logitech Harmony 900 from cdc_ether to zaurus · ee932bf9
      Scott Talbert 提交于
      In the current kernel implementation, the Logitech Harmony 900 remote
      control is matched to the cdc_ether driver through the generic
      USB_CDC_SUBCLASS_MDLM entry.  However, this device appears to be of the
      pseudo-MDLM (Belcarra) type, rather than the standard one.  This patch
      blacklists the Harmony 900 from the cdc_ether driver and whitelists it for
      the pseudo-MDLM driver in zaurus.
      Signed-off-by: NScott Talbert <talbert@techie.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ee932bf9
    • D
      hso: memsetting wrong data in hso_get_count() · 22ad7499
      Dan Carpenter 提交于
      The intent was to clear out the icount struct here, but we accidentally
      clear stack memory instead.  It probably will lead to a NULL dereference
      right away.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      22ad7499
    • R
      ethernet/broadcom: ip6_route_output() never returns NULL. · 0541743b
      RongQing.Li 提交于
      ip6_route_output() never returns NULL, so it is wrong to
      check if the return value is NULL.
      Signed-off-by: NRongQing.Li <roy.qing.li@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0541743b
    • G
      jme: Fix FIFO flush issue · ba9adbe6
      Guo-Fu Tseng 提交于
      Set the RX FIFO flush watermark lower.
      According to Federico and JMicron's reply,
      setting it to 16QW would be stable on most platforms.
      Otherwise, user might experience packet drop issue.
      
      CC: stable@kernel.org
      Reported-by: NFederico Quagliata <federico@quagliata.org>
      Fixed-by: NFederico Quagliata <federico@quagliata.org>
      Signed-off-by: NGuo-Fu Tseng <cooldavid@cooldavid.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ba9adbe6
    • M
      [SCSI] scsi_dh_rdac: Fix for unbalanced reference count · 3569e537
      Moger, Babu 提交于
      This patch fixes an unbalanced refcount issue.
      
      Elevating the lock for both kref_put and also for controller node deletion.
      Previously, controller deletion was protected but the not the kref_put. This
      was causing the other thread to pick up the controller structure which was
      already kref'd zero.
      
      This was causing the following WARN_ON and also sometimes panic.
      
      WARNING: at lib/kref.c:43 kref_get+0x2d/0x30() (Not tainted)
      Hardware name: IBM System x3655 -[7985AC1]-
      Modules linked in: fuse scsi_dh_rdac autofs4 nfs lockd fscache nfs_acl
      auth_rpcgss sunrpc 8021q garp stp llc ipv6 ib_srp(U) scsi_transport_srp
      scsi_tgt ib_cm(U) ib_sa(U) ib_uverbs(U) ib_umad(U) mlx4_ib(U) mlx4_core(U)
      ib_mthca(U) ib_mad(U) ib_core(U) dm_mirror dm_region_hash dm_log dm_round_robin
      dm_multipath uinput bnx2 ses enclosure sg ibmpex ibmaem ipmi_msghandler
      serio_raw k8temp hwmon amd64_edac_mod edac_core edac_mce_amd shpchp i2c_piix4
      ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif sata_svw pata_acpi ata_generic
      pata_serverworks aacraid radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core
      dm_mod [last unloaded: freq_table]
      Pid: 13735, comm: srp_daemon Not tainted 2.6.32-71.el6.x86_64 #1
      Call Trace:
      [<ffffffff8106b857>] warn_slowpath_common+0x87/0xc0
      [<ffffffff8106b8aa>] warn_slowpath_null+0x1a/0x20
      [<ffffffff8125c39d>] kref_get+0x2d/0x30
      [<ffffffffa01b4029>] rdac_bus_attach+0x459/0x580 [scsi_dh_rdac]
      [<ffffffff8135232a>] scsi_dh_handler_attach+0x2a/0x80
      [<ffffffff81352c7b>] scsi_dh_notifier+0x9b/0xa0
      [<ffffffff814cd7a5>] notifier_call_chain+0x55/0x80
      [<ffffffff8109711a>] __blocking_notifier_call_chain+0x5a/0x80
      [<ffffffff81097156>] blocking_notifier_call_chain+0x16/0x20
      [<ffffffff8132bec5>] device_add+0x515/0x640
      [<ffffffff813329e4>] ? attribute_container_device_trigger+0xc4/0xe0
      [<ffffffff8134f659>] scsi_sysfs_add_sdev+0x89/0x2c0
      [<ffffffff8134d096>] scsi_probe_and_add_lun+0xea6/0xed0
      [<ffffffff8134beb2>] ? scsi_alloc_target+0x292/0x2d0
      [<ffffffff8134d1e1>] __scsi_scan_target+0x121/0x750
      [<ffffffff811df806>] ? sysfs_create_file+0x26/0x30
      [<ffffffff8132b759>] ? device_create_file+0x19/0x20
      [<ffffffff81332838>] ? attribute_container_add_attrs+0x78/0x90
      [<ffffffff814b008c>] ? klist_next+0x4c/0xf0
      [<ffffffff81332e30>] ? transport_configure+0x0/0x20
      [<ffffffff813329e4>] ? attribute_container_device_trigger+0xc4/0xe0
      [<ffffffff8134df40>] scsi_scan_target+0xd0/0xe0
      [<ffffffffa02f053a>] srp_create_target+0x75a/0x890 [ib_srp]
      [<ffffffff8132a130>] dev_attr_store+0x20/0x30
      [<ffffffff811df145>] sysfs_write_file+0xe5/0x170
      [<ffffffff8116c818>] vfs_write+0xb8/0x1a0
      [<ffffffff810d40a2>] ? audit_syscall_entry+0x272/0x2a0
      [<ffffffff8116d251>] sys_write+0x51/0x90
      [<ffffffff81013172>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NBabu Moger <babu.moger@netapp.com>
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      3569e537