1. 19 10月, 2010 9 次提交
    • A
      UBI: do not put eraseblocks to the corrupted list unnecessarily · 0525dac9
      Artem Bityutskiy 提交于
      Currently UBI maintains 2 lists of PEBs during scanning:
      1. 'erase' list - PEBs which have no corruptions but should be erased
      2. 'corr' list - PEBs which have some corruptions and should be erased
      
      But we do not really need 2 lists for PEBs which should be erased after
      scanning is done - this is redundant. So this patch makes sure all PEBs
      which are corrupted are moved to the head of the 'erase' list. We add
      them to the head to make sure they are erased first and we get rid of
      corruption ASAP.
      
      However, we do not remove the 'corr' list and realted functions, because
      the plan is to use this list for other purposes. Namely, we plan to
      put eraseblocks with corruption which does not look like it was caused
      by unclean power cut. Then we'll preserve thes PEBs in order to avoid
      killing potentially valuable user data.
      
      This patch also amends PEBs accounting, because it was closely tight to
      the 'erase'/'corr' lists separation.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      0525dac9
    • A
      UBI: separate out corrupted list · 3fb34124
      Artem Bityutskiy 提交于
      This patch introduces 'add_corrupted()' function and separates out 'corr' list
      manipulation from the common 'add_to_list()' function. This is just a
      preparation for further changes - this patch does not change functionality.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      3fb34124
    • A
      UBI: change cascade of ifs to switch statements · b3321508
      Artem Bityutskiy 提交于
      This patch improves readability and simplifies scanning code by changing a
      long cascade of 'if' statements to a switch statement. This should presumably
      be a little faster as well.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      b3321508
    • A
      UBI: rename a local variable · e0e718c2
      Artem Bityutskiy 提交于
      Rename local variable 'ec_corr' into 'ec_err' to make the code a little bit
      more readable. 'ec_err' is more appropriate because it sounds more like 'error
      when EC was read' and it looks more logical because we use it together with
      'err'. Just a minor nicification which should improve the rather complex
      scanning code.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      e0e718c2
    • A
      UBI: handle bit-flips when no header found · 92e1a7d9
      Artem Bityutskiy 提交于
      Currently UBI has one small flaw - when we read EC or VID header, but find only
      0xFF bytes, we return UBI_IO_FF and do not report whether we had bit-flips or
      not. In case of the VID header, the scanning code adds this PEB to the free list,
      even though there were bit-flips.
      
      Imagine the following situation: we start writing VID header to a PEB and have a
      power cut, so the PEB becomes unstable. When we scan and read the PEB, we get
      a bit-flip. Currently, UBI would just ignore this and treat the PEB as free. This
      patch changes UBI behavior and now UBI will schedule this PEB for erasure.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      92e1a7d9
    • A
      UBI: remove duplicate IO error codes · 74d82d26
      Artem Bityutskiy 提交于
      The 'UBI_IO_PEB_EMPTY' and 'UBI_IO_PEB_FREE' are essentially the same
      and mean that there are only 0xFF bytes instead of headers. Simplify
      UBI a little by turning them into a single 'UBI_IO_FF' error code.
      
      Also, stop maintaining commentaries in 'ubi_io_read_vid_hdr()' which are
      almost identical to commentaries in 'ubi_io_read_ec_hdr()'.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      74d82d26
    • A
      UBI: rename IO error code · 756e1df1
      Artem Bityutskiy 提交于
      Rename UBI_IO_BAD_HDR_READ into UBI_IO_BAD_HDR_EBADMSG which is presumably more
      self-documenting and readable. Indeed, the '_READ' suffix does not tell much and
      even confuses, while '_EBADMSG' tells about uncorrectable ECC error, because we
      use -EBADMSG all over the place to represent ECC errors.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      756e1df1
    • A
      UBI: fix small 80 characters limit style issue · c174a08c
      Artem Bityutskiy 提交于
      One line was longer than 80 lines, make it shorter.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      c174a08c
    • H
      UBI: cleanup and simplify Kconfig · 1dd78632
      H Hartley Sweeten 提交于
      Cleanup the Kconfig for UBI by using menuconfig to enable/disable the entire
      driver. Remove the dependency checks for MTD_UBI and MTD_UBI_DEBUG by
      wrapping the options in if/endif blocks and remove any redundant checks.
      Remove all default n since that is the Kconfig default. Change menu "Additional
      UBI debugging messages" into a comment to remove one menu level.
      Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      1dd78632
  2. 14 10月, 2010 3 次提交
    • D
      ioat2: fix performance regression · c50a898f
      Dan Williams 提交于
      Commit 07934481 "DMAENGINE: generic channel status v2" changed the interface for
      how dma channel progress is retrieved.  It inadvertently exported an internal
      helper function ioat_tx_status() instead of ioat_dma_tx_status().  The latter
      polls the hardware to get the latest completion state, while the helper just
      evaluates the current state without touching hardware.  The effect is that we
      end up waiting for completion timeouts or descriptor allocation errors before
      the completion state is updated.
      
      iperf (before fix):
      [SUM]  0.0-41.3 sec   364 MBytes  73.9 Mbits/sec
      
      iperf (after fix):
      [SUM]  0.0- 4.5 sec   499 MBytes   940 Mbits/sec
      
      This is a regression starting with 2.6.35.
      
      Cc: <stable@kernel.org>
      Cc: Dave Jiang <dave.jiang@intel.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Cc: Maciej Sosnowski <maciej.sosnowski@intel.com>
      Reported-by: NRichard Scobie <richard@sauce.co.nz>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      c50a898f
    • B
      ehea: Fix a checksum issue on the receive path · 71085ce8
      Breno Leitao 提交于
      Currently we set all skbs with CHECKSUM_UNNECESSARY, even
      those whose protocol we don't know. This patch just
      add the CHECKSUM_COMPLETE tag for non TCP/UDP packets.
      Reported-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NBreno Leitao <leitao@linux.vnet.ibm.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      71085ce8
    • G
      net: allow FEC driver to use fixed PHY support · 6fcc040f
      Greg Ungerer 提交于
      At least one board using the FEC driver does not have a conventional
      PHY attached to it, it is directly connected to a somewhat simple
      ethernet switch (the board is the SnapGear/LITE, and the attached
      4-port ethernet switch is a RealTek RTL8305). This switch does not
      present the usual register interface of a PHY, it presents nothing.
      So a PHY scan will find nothing - it finds ID's of 0 for each PHY
      on the attached MII bus.
      
      After the FEC driver was changed to use phylib for supporting PHYs
      it no longer works on this particular board/switch setup.
      
      Add code support to use a fixed phy if no PHY is found on the MII bus.
      This is based on the way the cpmac.c driver solved this same problem.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6fcc040f
  3. 12 10月, 2010 10 次提交
  4. 11 10月, 2010 2 次提交
  5. 10 10月, 2010 3 次提交
  6. 09 10月, 2010 2 次提交
  7. 08 10月, 2010 1 次提交
  8. 07 10月, 2010 5 次提交
  9. 06 10月, 2010 5 次提交
    • N
      bonding: fix WARN_ON when writing to bond_master sysfs file · 27e6f065
      Neil Horman 提交于
      Fix a WARN_ON failure in bond_masters sysfs file
      
      Got a report of this warning recently
      
      bonding: bond0 is being created...
      ------------[ cut here ]------------
      WARNING: at fs/proc/generic.c:590 proc_register+0x14d/0x185()
      Hardware name: ProLiant BL465c G1
      proc_dir_entry 'bonding/bond0' already registered
      Modules linked in: bonding ipv6 tg3 bnx2 shpchp amd64_edac_mod edac_core
      ipmi_si
      ipmi_msghandler serio_raw i2c_piix4 k8temp edac_mce_amd hpwdt microcode hpsa
      cc
      iss radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:
      scsi_wai
      t_scan]
      Pid: 935, comm: ifup-eth Not tainted 2.6.33.5-124.fc13.x86_64 #1
      Call Trace:
      [<ffffffff8104b54c>] warn_slowpath_common+0x77/0x8f
      [<ffffffff8104b5b1>] warn_slowpath_fmt+0x3c/0x3e
      [<ffffffff8114bf0b>] proc_register+0x14d/0x185
      [<ffffffff8114c20c>] proc_create_data+0x87/0xa1
      [<ffffffffa0211e9b>] bond_create_proc_entry+0x55/0x95 [bonding]
      [<ffffffffa0215e5d>] bond_init+0x95/0xd0 [bonding]
      [<ffffffff8138cd97>] register_netdevice+0xdd/0x29e
      [<ffffffffa021240b>] bond_create+0x8e/0xb8 [bonding]
      [<ffffffffa021c4be>] bonding_store_bonds+0xb3/0x1c1 [bonding]
      [<ffffffff812aec85>] class_attr_store+0x27/0x29
      [<ffffffff8115423d>] sysfs_write_file+0x10f/0x14b
      [<ffffffff81101acf>] vfs_write+0xa9/0x106
      [<ffffffff81101be2>] sys_write+0x45/0x69
      [<ffffffff81009b02>] system_call_fastpath+0x16/0x1b
      ---[ end trace a677c3f7f8b16b1e ]---
      bonding: Bond creation failed.
      
      It happens because a user space writer to bond_master can try to
      register an already existing bond interface name.  Fix it by teaching
      bond_create to check for the existance of devices with that name first
      in cases where a non-NULL name parameter has been passed in
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27e6f065
    • T
      drm/ttm: Fix two race conditions + fix busy codepaths · 1df6a2eb
      Thomas Hellstrom 提交于
      This fixes a race pointed out by Dave Airlie where we don't take a buffer
      object about to be destroyed off the LRU lists properly. It also fixes a rare
      case where a buffer object could be destroyed in the middle of an
      accelerated eviction.
      
      The patch also adds a utility function that can be used to prematurely
      release GPU memory space usage of an object waiting to be destroyed.
      For example during eviction or swapout.
      
      The above mentioned commit didn't queue the buffer on the delayed destroy
      list under some rare circumstances. It also didn't completely honor the
      remove_all parameter.
      
      Fixes:
      https://bugzilla.redhat.com/show_bug.cgi?id=615505
      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591061Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1df6a2eb
    • S
      skge: add quirk to limit DMA · 392bd0cb
      Stanislaw Gruszka 提交于
      Skge devices installed on some Gigabyte motherboards are not able to
      perform 64 dma correctly due to board PCI implementation, so limit
      DMA to 32bit if such boards are detected.
      
      Bug was reported here:
      https://bugzilla.redhat.com/show_bug.cgi?id=447489Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Tested-by: NLuya Tshimbalanga <luya@fedoraproject.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      392bd0cb
    • M
      IPS driver: Fix limit clamping when reducing CPU power · d24a9da5
      Matthew Garrett 提交于
      Values here are in internal units rather than Watts, so we shouldn't
      perform any conversion.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      d24a9da5
    • J
      [PATCH 2/2] IPS driver: disable CPU turbo · 96f3823f
      Jesse Barnes 提交于
      The undocumented interface we're using for reading CPU power seems to be
      overreporting power.  Until we figure out how to correct it, disable CPU
      turbo and power reporting to be safe.  This will keep the CPU within default
      limits and still allow us to increase GPU frequency as needed.
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      96f3823f