1. 14 7月, 2007 9 次提交
    • D
      [XFS] Lazy Superblock Counters · 92821e2b
      David Chinner 提交于
      When we have a couple of hundred transactions on the fly at once, they all
      typically modify the on disk superblock in some way.
      create/unclink/mkdir/rmdir modify inode counts, allocation/freeing modify
      free block counts.
      
      When these counts are modified in a transaction, they must eventually lock
      the superblock buffer and apply the mods. The buffer then remains locked
      until the transaction is committed into the incore log buffer. The result
      of this is that with enough transactions on the fly the incore superblock
      buffer becomes a bottleneck.
      
      The result of contention on the incore superblock buffer is that
      transaction rates fall - the more pressure that is put on the superblock
      buffer, the slower things go.
      
      The key to removing the contention is to not require the superblock fields
      in question to be locked. We do that by not marking the superblock dirty
      in the transaction. IOWs, we modify the incore superblock but do not
      modify the cached superblock buffer. In short, we do not log superblock
      modifications to critical fields in the superblock on every transaction.
      In fact we only do it just before we write the superblock to disk every
      sync period or just before unmount.
      
      This creates an interesting problem - if we don't log or write out the
      fields in every transaction, then how do the values get recovered after a
      crash? the answer is simple - we keep enough duplicate, logged information
      in other structures that we can reconstruct the correct count after log
      recovery has been performed.
      
      It is the AGF and AGI structures that contain the duplicate information;
      after recovery, we walk every AGI and AGF and sum their individual
      counters to get the correct value, and we do a transaction into the log to
      correct them. An optimisation of this is that if we have a clean unmount
      record, we know the value in the superblock is correct, so we can avoid
      the summation walk under normal conditions and so mount/recovery times do
      not change under normal operation.
      
      One wrinkle that was discovered during development was that the blocks
      used in the freespace btrees are never accounted for in the AGF counters.
      This was once a valid optimisation to make; when the filesystem is full,
      the free space btrees are empty and consume no space. Hence when it
      matters, the "accounting" is correct. But that means the when we do the
      AGF summations, we would not have a correct count and xfs_check would
      complain. Hence a new counter was added to track the number of blocks used
      by the free space btrees. This is an *on-disk format change*.
      
      As a result of this, lazy superblock counters are a mkfs option and at the
      moment on linux there is no way to convert an old filesystem. This is
      possible - xfs_db can be used to twiddle the right bits and then
      xfs_repair will do the format conversion for you. Similarly, you can
      convert backwards as well. At some point we'll add functionality to
      xfs_admin to do the bit twiddling easily....
      
      SGI-PV: 964999
      SGI-Modid: xfs-linux-melb:xfs-kern:28652a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      92821e2b
    • A
      [XFS] Use generic shrinker interfaces in XFS. · 3260f78a
      Andrew Morton 提交于
      SGI-PV: 964986
      SGI-Modid: xfs-linux-melb:xfs-kern:28642a
      Signed-Off-By: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      3260f78a
    • D
      [XFS] Make hole punching at EOF atomic. · 92dfe8d2
      David Chinner 提交于
      If hole punching at EOF is done as two steps (i.e. truncate then extend)
      the file is in a transient state between the two steps where an
      application can see the incorrect file size. Punching a hole to EOF needs
      to be treated in teh same way as all other hole punching cases so that the
      file size is never seen to change.
      
      SGI-PV: 962012
      SGI-Modid: xfs-linux-melb:xfs-kern:28641a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NVlad Apostolov <vapo@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      92dfe8d2
    • D
      [XFS] Fix vmalloc leak on mount/unmount. · 511105b3
      David Chinner 提交于
      When setting the length of the iclogbuf to write out we should just be
      changing the desired byte count rather completely reassociating the buffer
      memory with the buffer. Reassociating the buffer memory changes the
      apparent length of the buffer and hence when we free the buffer, we don't
      free all the vmap()d space we originally allocated.
      
      SGI-PV: 964983
      SGI-Modid: xfs-linux-melb:xfs-kern:28640a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      511105b3
    • C
      [XFS] Fix double free in xfs_buf_get_noaddr error handling path · ca165b88
      Christoph Hellwig 提交于
      SGI-PV: 964983
      SGI-Modid: xfs-linux-melb:xfs-kern:28639a
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      ca165b88
    • D
      [XFS] Fix use-after-free during log unmount. · 3db296f3
      David Chinner 提交于
      Don't reference the log buffer after running the callbacks as the callback
      can trigger the log buffers to be freed during unmount.
      
      SGI-PV: 964545
      SGI-Modid: xfs-linux-melb:xfs-kern:28567a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      3db296f3
    • D
      [XFS] Sleeping with the ilock waiting for I/O completion is Bad. · 40095b64
      David Chinner 提交于
      Recent fixes to the filesystem freezing code introduced a vn_iowait call
      in the middle of the sync code. Unfortunately, at the point where this
      call was added we are holding the ilock. The ilock is needed by I/O
      completion for unwritten extent conversion and now updating the file size.
      Hence I/o cannot complete if we hold the ilock while waiting for I/O
      completion.
      
      Fix up the bug and clean the code up around it.
      
      SGI-PV: 963674
      SGI-Modid: xfs-linux-melb:xfs-kern:28566a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      40095b64
    • N
      [XFS] Don't grow filesystems past the size they can index. · 4cc929ee
      Nathan Scott 提交于
      When growing a filesystem we don't check to see if the new size overflows
      the page cache index range, so we can do silly things like grow a
      filesystem page 16TB on a 32bit. Check new filesystem sizes against the
      limits the kernel can support.
      
      SGI-PV: 957886
      SGI-Modid: xfs-linux-melb:xfs-kern:28563a
      Signed-Off-By: NNathan Scott <nscott@aconex.com>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      4cc929ee
    • C
      [XFS] Only use refcounted pages for I/O · 1fa40b01
      Christoph Hellwig 提交于
      Many block drivers (aoe, iscsi) really want refcountable pages in bios,
      which is what almost everyone send down. XFS unfortunately has a few
      places where it sends down buffers that may come from kmalloc, which
      breaks them.
      
      Fix the places that use kmalloc()d buffers.
      
      SGI-PV: 964546
      SGI-Modid: xfs-linux-melb:xfs-kern:28562a
      Signed-Off-By: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      1fa40b01
  2. 11 7月, 2007 31 次提交
    • A
      lots-of-architectures: enable arbitary speed tty support · 4eb6bf6b
      Alan Cox 提交于
      Add the termios2 structure ready for enabling on most platforms.  One or
      two like Sparc are plain weird so have been left alone.  Most can use the
      same structure as ktermios for termios2 (ie the newer ioctl uses the
      structure matching the current kernel structure)
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Cc: Bryan Wu <bryan.wu@analog.com>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Matthew Wilcox <willy@debian.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4eb6bf6b
    • P
      Make common helpers for seq_files that work with list_heads · bcf67e16
      Pavel Emelianov 提交于
      Many places in kernel use seq_file API to iterate over a regular list_head.
      The code for such iteration is identical in all the places, so it's worth
      introducing a common helpers.
      
      This makes code about 300 lines smaller:
      
      The first version of this patch made the helper functions static inline
      in the seq_file.h header. This patch moves them to the fs/seq_file.c as
      Andrew proposed. The vmlinux .text section sizes are as follows:
      
      2.6.22-rc1-mm1:              0x001794d5
      with the previous version:   0x00179505
      with this patch:             0x00179135
      
      The config file used was make allnoconfig with the "y" inclusion of all
      the possible options to make the files modified by the patch compile plus
      drivers I have on the test node.
      
      This patch:
      
      Many places in kernel use seq_file API to iterate over a regular list_head.
      The code for such iteration is identical in all the places, so it's worth
      introducing a common helpers.
      Signed-off-by: NPavel Emelianov <xemul@openvz.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bcf67e16
    • J
      sx: switch subven and subid values · c14d444b
      Jiri Slaby 提交于
      sx.c is failing to locate Graham's card.
      Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
      Cc: Graham Murray <gmurray@webwayone.co.uk>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c14d444b
    • R
      Add LZO1X algorithm to the kernel · 64c70b1c
      Richard Purdie 提交于
      This is a hybrid version of the patch to add the LZO1X compression
      algorithm to the kernel.  Nitin and myself have merged the best parts of
      the various patches to form this version which we're both happy with (and
      are jointly signing off).
      
      The performance of this version is equivalent to the original minilzo code
      it was based on.  Bytecode comparisons have also been made on ARM, i386 and
      x86_64 with favourable results.
      
      There are several users of LZO lined up including jffs2, crypto and reiser4
      since its much faster than zlib.
      Signed-off-by: NNitin Gupta <nitingupta910@gmail.com>
      Signed-off-by: NRichard Purdie <rpurdie@openedhand.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      64c70b1c
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc · 4c75f741
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
        mmc: at91_mci: fix hanging and rework to match flowcharts
        mmc: at91_mci typo
        sdhci: Fix "Unexpected interrupt" handling
        mmc: fix silly copy-and-paste error
        mmc: move layer init and workqueue to core file
        mmc: refactor host class handling
        mmc: refactor bus operations
        sdhci: add ene controller id
        mmc: bounce requests for simple hosts
      4c75f741
    • L
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 6ed911fb
      Linus Torvalds 提交于
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits)
        bonding/bond_main.c: make 2 functions static
        ps3: gigabit ethernet driver for PS3, take3
        [netdrvr] Fix dependencies for ax88796 ne2k clone driver
        eHEA: Capability flag for DLPAR support
        Remove sk98lin ethernet driver.
        sunhme.c:quattro_pci_find() must be __devinit
        bonding / ipv6: no addrconf for slaves separately from master
        atl1: remove write-only var in tx handler
        macmace: use "unsigned long flags;"
        Cleanup usbnet_probe() return value handling
        netxen: deinline and sparse fix
        eeprom_93cx6: shorten pulse timing to match spec (bis)
        phylib: Add Marvell 88E1112 phy id
        phylib: cleanup marvell.c a bit
        AX88796 network driver
        IOC3: Switch to pci refcounting safe APIs
        e100: Fix Tyan motherboard e100 not receiving IPMI commands
        QE Ethernet driver writes to wrong register to mask interrupts
        rrunner.c:rr_init() must be __devinit
        tokenring/3c359.c:xl_init() must be __devinit
        ...
      6ed911fb
    • L
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · 64b853aa
      Linus Torvalds 提交于
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (32 commits)
        [libata] sata_mv: print out additional chip info during probe
        [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info
        [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145)
        [libata] Clean up driver udma_mask initializers
        libata: Support chips with 64K PRD quirk
        Add a PCI ID for santa rosa's PATA controller.
        sata_sil24: sil24_interrupt() micro-optimisation
        Add irq_flags to struct pata_platform_info
        sata_promise: cleanups
        [libata] pata_ixp4xx: kill unused var
        ata_piix: fix pio/mwdma programming
        [libata] ahci: minor internal cleanups
        [ATA] Add named constant for ATAPI command DEVICE RESET
        [libata] sata_sx4, sata_via: minor documentation updates
        [libata] ahci: minor internal cleanups
        [libata] ahci: Factor out SATA port init into a separate function
        [libata] pata_sil680: minor cleanups from benh
        [libata] sata_sx4: named constant cleanup
        [libata] pata_ixp4xx: convert to new EH
        [libata] pdc_adma: Reorder initializers with a couple structs
        ...
      64b853aa
    • L
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · 0f166396
      Linus Torvalds 提交于
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (62 commits)
        [MIPS] PNX8550: Cleanup proc code.
        [MIPS] WRPPMC: Fix build.
        [MIPS] Yosemite: Fix modpost warnings.
        [MIPS] Change names of local variables to silence sparse
        [MIPS] SB1: Fix modpost warning.
        [MIPS] PNX: Fix modpost warnings.
        [MIPS] Alchemy: Fix modpost warnings.
        [MIPS] Non-FPAFF: Fix warning.
        [MIPS] DEC: Fix modpost warning.
        [MIPS] MIPSsim: Enable MIPSsim virtual network driver.
        [MIPS] Delete Ocelot 3 support.
        [MIPS] remove LASAT Networks platforms support
        [MIPS] Early check for SMTC kernel on non-MT processor
        [MIPS] Add debugfs files to show fpuemu statistics
        [MIPS] Add some debugfs files to debug unaligned accesses
        [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs
        [MIPS] tc35815: Load MAC address via platform_device
        [MIPS] Move FPU affinity code into separate file.
        [MIPS] Make ioremap() work on TX39/49 special unmapped segment
        [MIPS] rbtx4938: Update and minimize defconfig
        ...
      0f166396
    • L
      Merge git://git.infradead.org/~dwmw2/battery-2.6 · 5f60cfd9
      Linus Torvalds 提交于
      * git://git.infradead.org/~dwmw2/battery-2.6:
        [BATTERY] ds2760 W1 slave
        [BATTERY] One Laptop Per Child power/battery driver
        [BATTERY] Apple PMU driver
        [BATTERY] 1-Wire ds2760 chip battery driver
        [BATTERY] APM emulation driver for class batteries
        [BATTERY] pda_power platform driver
        [BATTERY] Universal power supply class (was: battery class)
      5f60cfd9
    • L
      Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 · 9f9d7632
      Linus Torvalds 提交于
      * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
        [S390] vmlogrdr function annotation.
        [S390] s390: rename CPU_IDLE to S390_CPU_IDLE
        [S390] cio: Remove prototype for non-existing function cmf_reset().
        [S390] zcrypt: fix request timeout handling
        [S390] system call optimization.
        [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE
        [S390] Remove volatile from atomic_t
        [S390] Program check in diag 210 under 31 bit
        [S390] Bogomips calculation for 64 bit.
        [S390] smp: Merge smp_count_cpus() and smp_get_save_areas().
        [S390] zcore: Fix __user annotation.
        [S390] fixed cdl-format detection.
        [S390] sclp: Test facility list before executing a service call.
        [S390] sclp: introduce some new interfaces.
        [S390] Fixed comment typo.
        [S390] vmcp cleanup
      9f9d7632
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · 1b21f458
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (57 commits)
        [GFS2] Accept old format NFS filehandles
        [GFS2] Small fixes to logging code
        [DLM] dump more lock values
        [GFS2] Remove i_mode passing from NFS File Handle
        [GFS2] Obtaining no_formal_ino from directory entry
        [GFS2] git-gfs2-nmw-build-fix
        [GFS2] System won't suspend with GFS2 file system mounted
        [GFS2] remounting w/o acl option leaves acls enabled
        [GFS2] inode size inconsistency
        [DLM] Telnet to port 21064 can stop all lockspaces
        [GFS2] Fix gfs2_block_truncate_page err return
        [GFS2] Addendum to the journaled file/unmount patch
        [GFS2] Simplify multiple glock aquisition
        [GFS2] assertion failure after writing to journaled file, umount
        [GFS2] Use zero_user_page() in stuffed_readpage()
        [GFS2] Remove bogus '\0' in rgrp.c
        [GFS2] Journaled file write/unstuff bug
        [DLM] don't require FS flag on all nodes
        [GFS2] Fix deallocation issues
        [GFS2] return conflicts for GETLK
        ...
      1b21f458
    • L
      Merge branch 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block · 01370f06
      Linus Torvalds 提交于
      * 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block:
        pipe: add documentation and comments
        pipe: change the ->pin() operation to ->confirm()
        Remove remnants of sendfile()
        xip sendfile removal
        splice: completely document external interface with kerneldoc
        sendfile: remove bad_sendfile() from bad_file_ops
        shmem: convert to using splice instead of sendfile()
        relay: use splice_to_pipe() instead of open-coding the pipe loop
        pipe: allow passing around of ops private pointer
        splice: divorce the splice structure/function definitions from the pipe header
        splice: relay support
        sendfile: convert nfsd to splice_direct_to_actor()
        sendfile: convert nfs to using splice_read()
        loop: convert to using splice_direct_to_actor() instead of sendfile()
        splice: add void cookie to the actor data
        sendfile: kill generic_file_sendfile()
        sendfile: remove .sendfile from filesystems that use generic_file_sendfile()
        sys_sendfile: switch to using ->splice_read, if available
        vmsplice: add vmsplice-to-user support
        splice: abstract out actor data
      01370f06
    • L
      Merge branch 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block · 5cbc39a7
      Linus Torvalds 提交于
      * 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block:
        Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different
        Use list_for_each_entry() instead of list_for_each() in the block device
        Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu",
        block/Kconfig already has its own "menuconfig" so remove these
        Use menuconfigs instead of menus, so the whole menu can be disabled at once
        cfq-iosched: fix async queue behaviour
        unexport bio_{,un}map_user
        Remove legacy CDROM drivers
        [PATCH] fix request->cmd == INT cases
        cciss: add new controller support for P700m
        [PATCH] Remove acsi.c
        [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio
        [PATCH] cdrom_sysctl_info fix
        blk_hw_contig_segment(): bad segment size checks
        [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK
      5cbc39a7
    • A
      bonding/bond_main.c: make 2 functions static · 4ad072c9
      Adrian Bunk 提交于
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Cc: Chad Tindel <ctindel@users.sourceforge.net>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4ad072c9
    • M
      ps3: gigabit ethernet driver for PS3, take3 · 02c18891
      Masakazu Mokuno 提交于
      Hi,
      
      This is the third submission of the network driver for PS3.
      The differences from the previous one are:
      
        - renamed source file names so that their prefix can match
          with the module name
        - added cbe-oss-dev@ozlabs.org line for MAINTAINER file
        - changed some in copyright comments
      
      If there are no more comments, please apply for 2.6.23.
      
      Thank you
      
      --
      Subject: PS3: Ethernet driver
      
      From: Masakazu Mokuno <mokuno@sm.sony.co.jp>
      
      Add Gigabit Ethernet support for the PS3 game console.  The module will
      be called ps3_gelic.
      
      CC: Geoff Levand <geoffrey.levand@am.sony.com>
      Signed-off-by: NMasakazu Mokuno <mokuno@sm.sony.co.jp>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      02c18891
    • J
      [netdrvr] Fix dependencies for ax88796 ne2k clone driver · def47c50
      Jeff Garzik 提交于
      It needs writesb(), not available on all platforms.
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      def47c50
    • J
      eHEA: Capability flag for DLPAR support · 4c3ca4da
      Jan-Bernd Themann 提交于
      This patch introduces a capability flag that is used by the DLPAR userspace
      tool to check which DLPAR features are supported by the eHEA driver.
      
      Missing goto has been included.
      Signed-off-by: NJan-Bernd Themann <themann@de.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4c3ca4da
    • J
      Remove sk98lin ethernet driver. · e1abecc4
      Jeff Garzik 提交于
      Unmaintained, superceded by skge.
      
      Prodded to deletion by Adrian Bunk.  Acked by Stephen Hemminger.
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e1abecc4
    • A
      sunhme.c:quattro_pci_find() must be __devinit · cd6f5b80
      Adrian Bunk 提交于
      This patch fixes the following section mismatch:
      
      <--  snip  -->
      
      ...
        MODPOST vmlinux
      WARNING: drivers/built-in.o(.text+0x272f8b): Section mismatch: reference to .init.text:quattro_pci_find (between 'happy_meal_pci_probe' and 'happy_meal_pci_remove')
      ...
      
      <--  snip  -->
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      cd6f5b80
    • J
      bonding / ipv6: no addrconf for slaves separately from master · c2edacf8
      Jay Vosburgh 提交于
      	At present, when a device is enslaved to bonding, if ipv6 is
      active then addrconf will be initated on the slave (because it is closed
      then opened during the enslavement processing).  This causes DAD and RS
      packets to be sent from the slave.  These packets in turn can confuse
      switches that perform ipv6 snooping, causing them to incorrectly update
      their forwarding tables (if, e.g., the slave being added is an inactve
      backup that won't be used right away) and direct traffic away from the
      active slave to a backup slave (where the incoming packets will be
      dropped).
      
      	This patch alters the behavior so that addrconf will only run on
      the master device itself.  I believe this is logically correct, as it
      prevents slaves from having an IPv6 identity independent from the
      master.  This is consistent with the IPv4 behavior for bonding.
      
      	This is accomplished by (a) having bonding set IFF_SLAVE sooner
      in the enslavement processing than currently occurs (before open, not
      after), and (b) having ipv6 addrconf ignore UP and CHANGE events on
      slave devices.
      
      	The eql driver also uses the IFF_SLAVE flag.  I inspected eql,
      and I believe this change is reasonable for its usage of IFF_SLAVE, but
      I did not test it.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      c2edacf8
    • A
      atl1: remove write-only var in tx handler · 89c0d26b
      Alexey Dobriyan 提交于
      Signed-off-by: NAlexey Dobriyan <adobriyan@sw.ru>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      89c0d26b
    • A
      macmace: use "unsigned long flags;" · 099575b6
      Alexey Dobriyan 提交于
      Code will do local_irq_save() on it.
      Signed-off-by: NAlexey Dobriyan <adobriyan@sw.ru>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      099575b6
    • P
      Cleanup usbnet_probe() return value handling · 9514bfe5
      Peter Korsgaard 提交于
      usbnet_probe() handles a positive return value from the driver bind()
      function as success, but will later only setup the status handler if the
      return value was zero, leading to confusion. Patch adjusts this to accept
      positive values as success in both checks.
      Signed-off-by: NPeter Korsgaard <jacmet@sunsite.dk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      9514bfe5
    • S
      netxen: deinline and sparse fix · 4638aef1
      Stephen Hemminger 提交于
      Get rid of dubious casts to (void *) which causes a sparse warning.
      And move largeish function from inline to the one file that uses the code,
      the compiler can then decide to inline it.
      
      Compile tested only.
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4638aef1
    • F
      eeprom_93cx6: shorten pulse timing to match spec (bis) · 8abd531e
      Francois Romieu 提交于
      Based on an original idea by John W. Linville.
      
      It is the missing part of 42d45ccd60636c28e35c2016f091783bc14ad99c
      Signed-off-by: NFrancois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8abd531e
    • O
      phylib: Add Marvell 88E1112 phy id · 85cfb534
      Olof Johansson 提交于
      Add 88E1112 PHY ID to the marvell driver. Seems to do fine with the
      88E1111 inits.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      85cfb534
    • O
      phylib: cleanup marvell.c a bit · e5479239
      Olof Johansson 提交于
      Simplify the marvell driver init a bit: Make the supported devices an
      array instead of explicitly registering each structure. This makes it
      considerably easier to add new devices down the road.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e5479239
    • B
      AX88796 network driver · 825a2ff1
      Ben Dooks 提交于
      Support for the Asix AX88796 network controller, an
      NE2000 compatible 10/100 ethernet device with internal
      PHY.
      
      The driver supports PHY settings via either ioctl() or
      the ethtool driver ops.
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      825a2ff1
    • R
      [MIPS] PNX8550: Cleanup proc code. · 105b1bca
      Robert P. J. Day 提交于
      Here's a slightly cleaner way of creating the /proc structure for the
      pnx8850.  mostly, it creates a directory with default mode 555, since the
      one you're creating is mode 444, which is somewhat unusual for a directory
      under /proc.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      105b1bca
    • R
      [MIPS] WRPPMC: Fix build. · 569fb753
      Ralf Baechle 提交于
      Using another systems defines is a safe way to get your code broken by
      accident when that system is removed.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      569fb753
    • R
      [MIPS] Yosemite: Fix modpost warnings. · 44659f29
      Ralf Baechle 提交于
        MODPOST vmlinux
      WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x974): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done')
      WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x980): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done')
      WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x978): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done')
      WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x984): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done')
      WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x98c): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done')
      WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x990): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done')
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      44659f29