28 Jul, 2010

1 commit

  • This patch removes malloc(), free(), and printf() wrappers from the aic7xxx
    SCSI driver. I didn't use pr_debug for printf because of some 'clever' uses of
    printf don't compile with the pr_debug. I didn't fix the overeager uses of
    GFP_ATOMIC either because I wanted to keep this patch as simple as possible.

    [jejb:fixed up checkpatch errors and fixed up missed conversion]
    Signed-off-by: Pekka Enberg
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Pekka Enberg
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

18 Jan, 2010

1 commit


04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

09 Nov, 2009

1 commit


21 Sep, 2009

1 commit


15 Jun, 2009

1 commit

  • This patch allows the Adaptec firmware to pass on its values for Packetize and
    QAS. To do this, the settings max_iu and max_qas have been introduced into
    the SPI transport class and populated from the adaptec NVram tables. Domain
    validation in the SPI transport class will respect the max settings when
    configuring to the highest possible speed for testing.

    Signed-off-by: James Bottomley

    James Bottomley
     

07 Apr, 2009

3 commits


03 Apr, 2009

2 commits

  • Signed-off-by: Harvey Harrison
    Acked-by: Jeff Garzik
    Acked-by: Hannes Reinecke
    Signed-off-by: Andrew Morton
    Signed-off-by: James Bottomley

    Harvey Harrison
     
  • aic79xx leaves timers inserted when ahd_init() (which inserts
    two timers at its very end) succeeds but ahd_pci_map_int()
    fails. In this case ahd->init_level gets incremented to 5 only
    when that function succeeds, but ahd_free() calls ahd_shutdown()
    only when ahd->init_level == 5, and ahd_shutdown() is where the
    timers get removed. Since the freeing of the IRQ is not controlled
    by ahd->init_level, we should increment init_level prior to
    calling ahd_pci_map_int().

    Reported-by: Jan Beulich
    Signed-off-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Hannes Reinecke
     

24 Oct, 2008

7 commits

  • Take the Diag/Activity-LED of the HBA out of diagnostic mode on PM
    resume after successful PM resume from standby and HBA restart, it
    remained always on before. If something fails before complete
    recovery, it should remain on, since it is a diagnostics LED, reason
    for the used higher layer for the clear.

    Signed-off-by: thomas.schorpp@gmail.com
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    thomas schorpp
     
  • MHZ not Mhz for SI unit pedants

    Closes bug #6422

    Signed-off-by: Alan Cox
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Alan Cox
     
  • OK to just reuse the outer declaration as it is never used again.
    drivers/scsi/aic7xxx/aic79xx_pci.c:340:12: warning: symbol 'devconfig' shadows an earlier one
    drivers/scsi/aic7xxx/aic79xx_pci.c:299:12: originally declared here

    targpcistat is always assigned just before use, remove the inner declaration.
    drivers/scsi/aic7xxx/aic79xx_pci.c:486:9: warning: symbol 'targpcistat' shadows an earlier one
    drivers/scsi/aic7xxx/aic79xx_pci.c:429:9: originally declared here

    Signed-off-by: Harvey Harrison
    Signed-off-by: Andrew Morton
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Harvey Harrison
     
  • Redeclared within different if/else blocks, safe to reuse the
    original from beginning of function.
    drivers/scsi/aic7xxx/aic79xx_core.c:2475:10: warning: symbol 'scbid' shadows an earlier one
    drivers/scsi/aic7xxx/aic79xx_core.c:2399:10: originally declared here
    drivers/scsi/aic7xxx/aic79xx_core.c:2586:10: warning: symbol 'scbid' shadows an earlier one
    drivers/scsi/aic7xxx/aic79xx_core.c:2399:10: originally declared here
    drivers/scsi/aic7xxx/aic79xx_core.c:2587:15: warning: symbol 'scb' shadows an earlier one
    drivers/scsi/aic7xxx/aic79xx_core.c:2393:13: originally declared here

    Use caminfo for the outer declaration, the redeclared version is
    iterating over all initiator/target pairs (devices) which.
    drivers/scsi/aic7xxx/aic79xx_core.c:8857:23: warning: symbol 'devinfo' shadows an earlier one
    drivers/scsi/aic7xxx/aic79xx_core.c:8711:21: originally declared here

    Forward declaration was already marked static, make the definition match.
    drivers/scsi/aic7xxx/aic79xx_core.c:3693:1: warning: symbol 'ahd_devlimited_syncrate' was not declared. Should it be static?

    Signed-off-by: Harvey Harrison
    Signed-off-by: Andrew Morton
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Harvey Harrison
     
  • Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Denys Vlasenko
     
  • Update .reg files, marking unused registers with dont_generate_debug_code.
    Comment explains how to use it.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Denys Vlasenko
     
  • aic7xxx still contains ~30kb of dead code if pretty printing of registers
    is requested. These patches deal with it.

    Size differences:

    text data bss dec hex filename
    DEBUG_ENABLE+PRETTY_PRINT:
    234697 2362 1188 238247 3a2a7 linux-2.6.26-rc8-/drivers/scsi/aic7xxx/built-in.o
    205092 2362 1188 208642 32f02 linux-2.6.26-rc8/drivers/scsi/aic7xxx/built-in.o
    NO_DEBUG_ENABLE+PRETTY_PRINT:
    227272 2362 1172 230806 38596 linux-2.6.26-rc8-/drivers/scsi/aic7xxx/built-in.o
    197671 2362 1172 201205 311f5 linux-2.6.26-rc8/drivers/scsi/aic7xxx/built-in.o
    DEBUG_ENABLE+NO_PRETTY_PRINT:
    192457 2362 1188 196007 2fda7 linux-2.6.26-rc8-/drivers/scsi/aic7xxx/built-in.o
    192457 2362 1188 196007 2fda7 linux-2.6.26-rc8/drivers/scsi/aic7xxx/built-in.o
    NO_DEBUG_ENABLE+NO_PRETTY_PRINT:
    185040 2362 1172 188574 2e09e linux-2.6.26-rc8-/drivers/scsi/aic7xxx/built-in.o
    185040 2362 1172 188574 2e09e linux-2.6.26-rc8/drivers/scsi/aic7xxx/built-in.o

    This patch:

    Introduce "dont_generate_debug_code" keyword in aicasm parser.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Acked-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Denys Vlasenko
     

29 Apr, 2008

1 commit

  • drivers/scsi/aic7xxx/aic7770_osm.c:53:58: warning: Using plain integer as NULL pointer
    drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:355:47: warning: Using plain integer as NULL pointer
    drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:372:55: warning: Using plain integer as NULL pointer
    drivers/scsi/aha152x.c:997:28: warning: Using plain integer as NULL pointer
    drivers/scsi/aha152x.c:1003:28: warning: Using plain integer as NULL pointer
    drivers/scsi/aha152x.c:1165:46: warning: Using plain integer as NULL pointer
    drivers/scsi/fdomain.c:1446:40: warning: Using plain integer as NULL pointer
    drivers/scsi/sym53c8xx_2/sym_hipd.c:1650:51: warning: Using plain integer as NULL pointer
    drivers/scsi/sym53c8xx_2/sym_hipd.c:3171:42: warning: Using plain integer as NULL pointer
    drivers/scsi/sym53c8xx_2/sym_hipd.c:5732:52: warning: Using plain integer as NULL pointer
    drivers/scsi/ncr53c8xx.c:8189:31: warning: Using plain integer as NULL pointer
    drivers/scsi/ncr53c8xx.c:8225:34: warning: Using plain integer as NULL pointer
    drivers/scsi/dpt_i2o.c:156:32: warning: Using plain integer as NULL pointer
    drivers/scsi/ultrastor.c:954:42: warning: Using plain integer as NULL pointer
    drivers/scsi/ultrastor.c:1104:18: warning: Using plain integer as NULL pointer

    Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

28 Apr, 2008

5 commits


24 Apr, 2008

3 commits

  • The driver stores the PCI resource address into 'u_long' variable before
    calling ioremap_nocache() on it. This warrants kernel oops when the registers
    are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space
    mapped beyond 4 GB.

    The arch/ppc/ kernel has a fixup in ioremap() that helps create an illusion
    that the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code
    got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: James Bottomley

    Sergei Shtylyov
     
  • The driver stores the PCI resource address into 'u_long' variable before
    calling ioremap_nocache() on it. This warrants kernel oops when the registers
    are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space
    mapped beyond 4 GB.

    The arch/ppc/ kernel has a fixup in ioremap() that helps create an illusion
    that the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code
    got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: James Bottomley

    Sergei Shtylyov
     
  • Deinlines and moves big functions from .h to .c files.
    Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: James Bottomley

    Denys Vlasenko
     

08 Apr, 2008

3 commits


24 Feb, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (25 commits)
    [SCSI] qlogicpt: section fixes
    [SCSI] mvsas: convert from rough draft to working driver
    [SCSI] mvsas: Add Marvell 6440 SAS/SATA driver
    [SCSI] libsas: correctly flush the LU queue on error recovery
    [SCSI] aic94xx: fix sequencer hang on error recovery
    [SCSI] st: compile fix when DEBUG set to one
    [SCSI] stex: stex_internal_copy should be called with sg_count in struct st_ccb
    [SCSI] stex: stex_direct_copy shouldn't call dma_map_sg
    [SCSI] lpfc: Balance locking
    [SCSI] qla4xxx: fix up residual handling
    [SCSI] libsas: fix error handling
    [SCSI] arcmsr: fix message allocation
    [SCSI] mptbase: fix use-after-free's
    [SCSI] iscsi transport: make 2 functions static
    [SCSI] lpfc: make lpfc_disable_node() static
    [SCSI] ips: fix data buffer accessors conversion bug
    [SCSI] gdth: don't call pci_free_consistent under spinlock
    [SCSI] qla2xxx: fix compile warning for printk format
    [SCSI] aic7xx: mitigate HOST_MSG_LOOP invalid SCB ff panic
    [SCSI] scsi_debug: disable clustering
    ...

    Linus Torvalds
     
  • During the last step of hibernation in the "platform" mode (with the
    help of ACPI) we use the suspend code, including the devices'
    ->suspend() methods, to prepare the system for entering the ACPI S4
    system sleep state.

    But at least for some devices the operations performed by the
    ->suspend() callback in that case must be different from its operations
    during regular suspend.

    For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and
    pass it to the device drivers' ->suspend() methods during the last phase
    of hibernation, so that they can distinguish this case and handle it as
    appropriate. Modify the drivers that handle PM_EVENT_SUSPEND in a
    special way and need to handle PM_EVENT_HIBERNATE in the same way.

    These changes are necessary to fix a hibernation regression related
    to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Tested-by: Jeff Chua
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

18 Feb, 2008

1 commit

  • The panic occurs if we get a MSGIN or MSGOUT for an unidentified SCB
    (meaning we didn't identify the outstanding command it was for). For
    MSGIN this is wrong because it could be an unsolicited negotiation
    MSGIN from the target.

    Still panic on unsolicited MSGOUT because this would represent a
    mistake in the negotiation phases. However, we should fix this as
    well. The specs say we should go to bus free for unexpected msgin.

    Signed-off-by: James Bottomley

    James Bottomley
     

09 Feb, 2008

1 commit

  • Fix bug introduced by my latest fix to the aic7xxx Makefile.
    Test build on x86 32 and 64 bit.
    Without and with -j (parallel build)
    Building firmaware is br0ken with O=... but this
    is unrelated to this bug-fix.

    Tested-by: Adrian Bunk
    Cc: James Bottomley
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

04 Feb, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)
    Jesper Juhl is the new trivial patches maintainer
    Documentation: mention email-clients.txt in SubmittingPatches
    fs/binfmt_elf.c: spello fix
    do_invalidatepage() comment typo fix
    Documentation/filesystems/porting fixes
    typo fixes in net/core/net_namespace.c
    typo fix in net/rfkill/rfkill.c
    typo fixes in net/sctp/sm_statefuns.c
    lib/: Spelling fixes
    kernel/: Spelling fixes
    include/scsi/: Spelling fixes
    include/linux/: Spelling fixes
    include/asm-m68knommu/: Spelling fixes
    include/asm-frv/: Spelling fixes
    fs/: Spelling fixes
    drivers/watchdog/: Spelling fixes
    drivers/video/: Spelling fixes
    drivers/ssb/: Spelling fixes
    drivers/serial/: Spelling fixes
    drivers/scsi/: Spelling fixes
    ...

    Linus Torvalds
     
  • Building the aic7xxx driver includes the copy
    of an .h file from a _shipped file.

    In a highly parallel build Ingo saw that the
    build sometimes failed (included distcc usage).
    It was tracked down to a missing dependency from the .c
    source file to the generated .h file.
    We started to build the .c file before the
    copy (cat) operation of the .h file completed
    and we then only got half of the definitions
    from the copied .h file.

    Add an explicit dependency from the .c files to the
    generated .h files so make knows all dependencies and
    finsih the build of the .h files before it starts
    building the .o files.

    Ingo tested this fix and reported:
    good news: hundreds of successful kernel builds and no failures
    overnight.

    Signed-off-by: Sam Ravnborg
    Acked-by: Ingo Molnar
    Acked-by: James Bottomley

    Sam Ravnborg
     

03 Feb, 2008

1 commit


31 Jan, 2008

2 commits

  • With the sg table code, every SCSI driver is now either chain capable
    or broken (or has sg_tablesize set so chaining is never activated), so
    there's no need to have a check in the host template.

    Also tidy up the code by moving the scatterlist size defines into the
    SCSI includes and permit the last entry of the scatterlist pools not
    to be a power of two.
    Signed-off-by: James Bottomley

    James Bottomley
     
  • CC [M] drivers/scsi/aic7xxx/aic7xxx_osm_pci.o
    drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:148: warning: 'ahc_linux_pci_dev_suspend' defined but not used
    drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:166: warning: 'ahc_linux_pci_dev_resume' defined but not used

    This moves aic7xxx_pci_driver struct, removes some forward declarations,
    and adds some ifdef CONFIG_PM.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    FUJITA Tomonori