1. 22 12月, 2009 1 次提交
    • J
      mac80211: fix peer HT capabilities · 9a418af5
      Johannes Berg 提交于
      I noticed yesterday, because Jeff had noticed
      a speed regression, cf. bug
      http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2138
      that the SM PS settings for peers were wrong.
      Instead of overwriting the SM PS settings with
      the local bits, we need to keep the remote bits.
      
      The bug was part of the original HT code from
      over two years ago, but unfortunately nobody
      noticed that it makes no sense -- we shouldn't
      be overwriting the peer's setting with our own
      but rather keep it intact when masking the peer
      capabilities with our own.
      
      While fixing that, I noticed that the masking of
      capabilities is completely useless for most of
      the bits, so also fix those other bits.
      
      Finally, I also noticed that PSMP_SUPPORT no
      longer exists in the final 802.11n version, so
      also remove that.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9a418af5
  2. 16 12月, 2009 1 次提交
    • D
      tcp: Revert per-route SACK/DSACK/TIMESTAMP changes. · bb5b7c11
      David S. Miller 提交于
      It creates a regression, triggering badness for SYN_RECV
      sockets, for example:
      
      [19148.022102] Badness at net/ipv4/inet_connection_sock.c:293
      [19148.022570] NIP: c02a0914 LR: c02a0904 CTR: 00000000
      [19148.023035] REGS: eeecbd30 TRAP: 0700   Not tainted  (2.6.32)
      [19148.023496] MSR: 00029032 <EE,ME,CE,IR,DR>  CR: 24002442  XER: 00000000
      [19148.024012] TASK = eee9a820[1756] 'privoxy' THREAD: eeeca000
      
      This is likely caused by the change in the 'estab' parameter
      passed to tcp_parse_options() when invoked by the functions
      in net/ipv4/tcp_minisocks.c
      
      But even if that is fixed, the ->conn_request() changes made in
      this patch series is fundamentally wrong.  They try to use the
      listening socket's 'dst' to probe the route settings.  The
      listening socket doesn't even have a route, and you can't
      get the right route (the child request one) until much later
      after we setup all of the state, and it must be done by hand.
      
      This stuff really isn't ready, so the best thing to do is a
      full revert.  This reverts the following commits:
      
      f55017a9
      022c3f7d
      1aba721e
      cda42ebd
      345cda2f
      dc343475
      05eaade2
      6a2a2d6bSigned-off-by: NDavid S. Miller <davem@davemloft.net>
      bb5b7c11
  3. 15 12月, 2009 3 次提交
  4. 14 12月, 2009 1 次提交
    • O
      can: Fix data length code handling in rx path · c7cd606f
      Oliver Hartkopp 提交于
      A valid CAN dataframe can have a data length code (DLC) of 0 .. 8 data bytes.
      
      When reading the CAN controllers register the 4-bit value may contain values
      from 0 .. 15 which may exceed the reserved space in the socket buffer!
      
      The ISO 11898-1 Chapter 8.4.2.3 (DLC field) says that register values > 8
      should be reduced to 8 without any error reporting or frame drop.
      
      This patch introduces a new helper macro to cast a given 4-bit data length
      code (dlc) to __u8 and ensure the DLC value to be max. 8 bytes.
      
      The different handlings in the rx path of the CAN netdevice drivers are fixed.
      Signed-off-by: NOliver Hartkopp <oliver@hartkopp.net>
      Signed-off-by: NWolfgang Grandegger <wg@grandegger.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c7cd606f
  5. 12 12月, 2009 20 次提交
  6. 11 12月, 2009 3 次提交
    • A
      Unify sys_mmap* · f8b72560
      Al Viro 提交于
      New helper - sys_mmap_pgoff(); switch syscalls to using it.
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      f8b72560
    • B
      drm/nouveau: Add DRM driver for NVIDIA GPUs · 6ee73861
      Ben Skeggs 提交于
      This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA.
      
      This driver is a KMS-based driver and requires a compatible nouveau
      userspace libdrm and nouveau X.org driver.
      
      This driver requires firmware files not available in this kernel tree,
      interested parties can find them via the nouveau project git archive.
      
      This driver is reverse engineered, and is in no way supported by nVidia.
      
      Support for nearly the complete range of nvidia hw from nv04->g80 (nv50)
      is available, and the kms driver should support driving nearly all
      output types (displayport is under development still) along with supporting
      suspend/resume.
      
      This work is all from the upstream nouveau project found at
      nouveau.freedesktop.org.
      
      The original authors list from nouveau git tree is:
      Anssi Hannula <anssi.hannula@iki.fi>
      Ben Skeggs <bskeggs@redhat.com>
      Francisco Jerez <currojerez@riseup.net>
      Maarten Maathuis <madman2003@gmail.com>
      Marcin Kościelnicki <koriakin@0x04.net>
      Matthew Garrett <mjg@redhat.com>
      Matt Parnell <mparnell@gmail.com>
      Patrice Mandin <patmandin@gmail.com>
      Pekka Paalanen <pq@iki.fi>
      Xavier Chantry <shiningxc@gmail.com>
      along with project founder Stephane Marchesin <marchesin@icps.u-strasbg.fr>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6ee73861
    • J
      drm/ttm: Convert ttm_buffer_object_init to use ttm_placement · 09855acb
      Jerome Glisse 提交于
      Convert ttm_buffer_object_init to use struct ttm_placement and
      rename to ttm_bo_init for consistency with function naming. This
      allow to give more complex placement at buffer creation. For
      instance you ask to allocate bo into vram first but if there is
      not enough vram you can give system as a second possible
      placement. It also allow to create buffer in a specific range.
      
      Also rename ttm_buffer_object_validate to ttm_bo_validate.
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      09855acb
  7. 10 12月, 2009 11 次提交
    • J
      quota: Implement quota format with 64-bit space and inode limits · 498c6015
      Jan Kara 提交于
      So far the maximum quota space limit was 4TB. Apparently this isn't enough
      for Lustre guys anymore. So implement new quota format which raises block
      limits to 2^64 bytes. Also store number of inodes and inode limits in
      64-bit variables as 2^32 files isn't that insanely high anymore.
      
      The first version of the patch has been developed by Andrew Perepechko
      <Andrew.Perepechko@Sun.COM>.
      
      CC: Andrew.Perepechko@Sun.COM
      Signed-off-by: NJan Kara <jack@suse.cz>
      498c6015
    • J
      quota: Move definition of QFMT_OCFS2 to linux/quota.h · 30673930
      Jan Kara 提交于
      Move definition of this constant to linux/quota.h so that it
      cannot clash with other format IDs.
      
      CC: Joel Becker <joel.becker@oracle.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      30673930
    • A
      ext3: Unify log messages in ext3 · 4cf46b67
      Alexey Fisher 提交于
      Make messages produced by ext3 more unified. It should be
      easy to parse.
      
      dmesg before patch:
      [ 4893.684892] reservations ON
      [ 4893.684896] xip option not supported
      [ 4893.684964] EXT3-fs warning: maximal mount count reached, running
      e2fsck is recommended
      
      dmesg after patch:
      [  873.300792] EXT3-fs (loop0): using internal journaln
      [  873.300796] EXT3-fs (loop0): mounted filesystem with writeback data mode
      [  924.163657] EXT3-fs (loop0): error: can't find ext3 filesystem on dev loop0.
      [  723.755642] EXT3-fs (loop0): error: bad blocksize 8192
      [  357.874687] EXT3-fs (loop0): error: no journal found. mounting ext3 over ext2?
      [  873.300764] EXT3-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended
      [  924.163657] EXT3-fs (loop0): error: can't find ext3 filesystem on dev loop0.
      Signed-off-by: NAlexey Fisher <bug-track@fisher-privat.net>
      Signed-off-by: NJan Kara <jack@suse.cz>
      4cf46b67
    • J
      ext2: Explicitly assign values to on-disk enum of filetypes · ad888a1f
      Jan Blunck 提交于
      It is somewhat dangerous to use a straight enum here, because this will
      reassign values of later variables if one of the earlier ones is removed.
      Signed-off-by: NJan Blunck <jblunck@suse.de>
      Cc: Andreas Dilger <adilger@sun.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      ad888a1f
    • A
      const: struct quota_format_ops · 1472da5f
      Alexey Dobriyan 提交于
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      1472da5f
    • C
      kill wait_on_page_writeback_range · 94004ed7
      Christoph Hellwig 提交于
      All callers really want the more logical filemap_fdatawait_range interface,
      so convert them to use it and merge wait_on_page_writeback_range into
      filemap_fdatawait_range.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      94004ed7
    • C
      vfs: Implement proper O_SYNC semantics · 6b2f3d1f
      Christoph Hellwig 提交于
      While Linux provided an O_SYNC flag basically since day 1, it took until
      Linux 2.4.0-test12pre2 to actually get it implemented for filesystems,
      since that day we had generic_osync_around with only minor changes and the
      great "For now, when the user asks for O_SYNC, we'll actually give
      O_DSYNC" comment.  This patch intends to actually give us real O_SYNC
      semantics in addition to the O_DSYNC semantics.  After Jan's O_SYNC
      patches which are required before this patch it's actually surprisingly
      simple, we just need to figure out when to set the datasync flag to
      vfs_fsync_range and when not.
      
      This patch renames the existing O_SYNC flag to O_DSYNC while keeping it's
      numerical value to keep binary compatibility, and adds a new real O_SYNC
      flag.  To guarantee backwards compatiblity it is defined as expanding to
      both the O_DSYNC and the new additional binary flag (__O_SYNC) to make
      sure we are backwards-compatible when compiled against the new headers.
      
      This also means that all places that don't care about the differences can
      just check O_DSYNC and get the right behaviour for O_SYNC, too - only
      places that actuall care need to check __O_SYNC in addition.  Drivers and
      network filesystems have been updated in a fail safe way to always do the
      full sync magic if O_DSYNC is set.  The few places setting O_SYNC for
      lower layers are kept that way for now to stay failsafe.
      
      We enforce that O_DSYNC is set when __O_SYNC is set early in the open path
      to make sure we always get these sane options.
      
      Note that parisc really screwed up their headers as they already define a
      O_DSYNC that has always been a no-op.  We try to repair it by using it for
      the new O_DSYNC and redefinining O_SYNC to send both the traditional
      O_SYNC numerical value _and_ the O_DSYNC one.
      
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Grant Grundler <grundler@parisc-linux.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger@sun.com>
      Acked-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Acked-by: NKyle McMartin <kyle@mcmartin.ca>
      Acked-by: NUlrich Drepper <drepper@redhat.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJan Kara <jack@suse.cz>
      6b2f3d1f
    • J
      drm: Add memory manager debug function · 99d7e48e
      Jerome Glisse 提交于
      drm_mm_debug_table will print the memory manager state
      in table allowing to give a snapshot of the manager at
      given point in time. Usefull for debugging.
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      99d7e48e
    • T
      drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART. · 98ffc415
      Thomas Hellstrom 提交于
      Return -ERESTARTSYS instead of -ERESTART when interrupted by a signal.
      The -ERESTARTSYS is converted to an -EINTR by the kernel signal layer
      before returned to user-space.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      98ffc415
    • J
      drm/ttm: Rework validation & memory space allocation (V3) · ca262a99
      Jerome Glisse 提交于
      This change allow driver to pass sorted memory placement,
      from most prefered placement to least prefered placement.
      In order to avoid long function prototype a structure is
      used to gather memory placement informations such as range
      restriction (if you need a buffer to be in given range).
      Range restriction is determined by fpfn & lpfn which are
      the first page and last page number btw which allocation
      can happen. If those fields are set to 0 ttm will assume
      buffer can be put anywhere in the address space (thus it
      avoids putting a burden on the driver to always properly
      set those fields).
      
      This patch also factor few functions like evicting first
      entry of lru list or getting a memory space. This avoid
      code duplication.
      
      V2: Change API to use placement flags and array instead
          of packing placement order into a quadword.
      V3: Make sure we set the appropriate mem.placement flag
          when validating or allocation memory space.
      
      [Pending Thomas Hellstrom further review but okay
      from preliminary review so far].
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ca262a99
    • J
      drm: Add search/get functions to get a block in a specific range · a2e68e92
      Jerome Glisse 提交于
      These are required for changes to TTM.
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      a2e68e92