22 Jun, 2009

14 commits

  • If a SCSI ULD driver sets blk_queue_prep_rq(), it should clean it
    up itself on remove(), and not from the bus callbacks. This
    removes the need to hook into bus->remove(), which should not
    be used at the same time as driver->remove().

    [jejb: fix sdkp initialisation problem due to mismerge]
    Signed-off-by: Hannes Reinecke
    Signed-off-by: Kay Sievers
    Signed-off-by: James Bottomley

    Hannes Reinecke
     
  • setting err as -EOVERFLOW for Too many iscsi targets.

    Also fixes a spurious compiler warning for gcc 4.3.3 and gcc 4.4 :

    CC drivers/scsi/scsi_transport_iscsi.o
    drivers/scsi/scsi_transport_iscsi.c: In function ‘iscsi_add_session’:
    drivers/scsi/scsi_transport_iscsi.c:678: warning: ‘err’ may be used uninitialized in this function

    Signed-off-by: Jaswinder Singh Rajput
    Acked-by: Mike Christie
    Signed-off-by: James Bottomley

    Jaswinder Singh Rajput
     
  • The return value from BSG timout function should be based on the state of the
    BSG job. This helps block layer to take selective actions to clean up BSG job.

    Signed-off-by: Giridhar Malavali
    Acked-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    Giridhar Malavali
     
  • Registered the softirq_done function, since this is requried iby an request
    using block level request timeout functionality. This function will be called
    by the block layer as part of time out clean process to release the BSG
    request.

    Moved some of the BSG request completion activities to softirq_done routine to
    take care of both normal and timout completions.

    Signed-off-by: Giridhar Malavali
    Acked-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    Giridhar Malavali
     
  • This makes a huge difference when you have a serial console on bootup to limit
    these messages to a sane number.

    Signed-off-by: John Stoffel
    Signed-off-by: James Bottomley

    John Stoffel
     
  • People keep sending patches to expose CONFIG_SCSI_WAIT_SCAN as a tunable
    item. These patches aren't accepted upstream, so let's stop the ongoing
    irritation of people due to the unconditionally installed module and its
    Kconfig symbol.

    Signed-off-by: Stefan Richter
    Signed-off-by: James Bottomley

    Stefan Richter
     
  • Fixes a problem seen where sending a PRLI to a target
    resulted in it sending a LOGO. This caused the ibmvfc
    driver to go back through discovery again, which caused
    another PRLI attempt, which caused another LOGO. Fix this
    behavior by ignoring LOGO if we haven't even logged into
    the target yet.

    Signed-off-by: Brian King
    Signed-off-by: James Bottomley

    Brian King
     
  • Since async events could indicate changes to link status, or
    events which could affect decisions made during discovery, we should
    process async events prior to command completion responses.

    Signed-off-by: Brian King
    Signed-off-by: James Bottomley

    Brian King
     
  • This patch adds the /sys/module/libfc/parameters/debug_logging
    file to sysfs as a module parameter. It accepts an integer
    bitmask for logging. Currently it supports:

    bit
    LSB 0 = general libfc debugging
    1 = lport debugging
    2 = disc debugging
    3 = rport debugging
    4 = fcp debugging
    5 = EM debugging
    6 = exch/seq debugging
    7 = scsi logging (mostly error handling)

    the other bits are not used at this time.

    The patch converts all of the libfc source files to use
    these new macros and removes the old FC_DBG macro.

    Signed-off-by: Robert Love
    Signed-off-by: James Bottomley

    Robert Love
     
  • This patch adds a 'debug_logging' module parameter to
    libfcoe.ko. It is an unsigned int that represents a bitmask of
    available debug logging levels, each of which can be tuned at
    runtime. Currently there are only two logging levels for this
    module-

    bit
    LSB 0 = libfcoe general logging
    1 = FIP logging

    Signed-off-by: Robert Love
    Signed-off-by: James Bottomley

    Robert Love
     
  • This patch converts all FC_DBG statements to use new runtime tunable
    debug macros. The fcoe.ko module now has a debug_logging module
    parameter.

    fcoe_debug_logging is an unsigned integer representing a bitmask of all
    available logging levels. Currently only two logging levels are
    supported-

    bit
    LSB 0 = general fcoe logging
    1 = netdevice related logging

    This patch also attempts to clean up some debug statement formatting
    so it's more readable.

    Signed-off-by: Robert Love
    Signed-off-by: James Bottomley

    Robert Love
     
  • This patch adds support for setting the physical block exponent and
    lowest aligned LBA in the READ CAPACITY(16) response.

    The B0 VPD page is adjusted accordingly.

    Signed-off-by: Martin K. Petersen
    Acked-by: Douglas Gilbert
    Signed-off-by: James Bottomley

    Martin K. Petersen
     
  • NETDEVICES + NETDEV_1000 need to be enabled so that kconfig will check
    those branches for selects and enforce "select UIO" under CNIC.
    Otherwise the build fails with:

    ERROR: "uio_unregister_device" [drivers/net/cnic.ko] undefined!
    ERROR: "uio_event_notify" [drivers/net/cnic.ko] undefined!
    ERROR: "__uio_register_device" [drivers/net/cnic.ko] undefined!

    Signed-off-by: Randy Dunlap
    Acked-by: Michael Chan
    Signed-off-by: James Bottomley

    Randy Dunlap
     
  • Ingo molnar reported the error

    drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’

    when CONFIG_MODULES is not defined. Fix by using symbol_get() instead.

    Signed-off-by: Michael Chan
    Signed-off-by: James Bottomley

    Michael Chan
     

21 Jun, 2009

24 commits

  • This reverts commit bc3bf8fd330ce981ce632a1a4a283eee46838f32.

    All the commit did was add a second #include of which is
    the wrong fix.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • MSI has only been tested on and known to work with PCI-E based adapters. This
    patch adds a field to struct ipr_chip_t to indicate which type of interrupt to
    use based on what is known about the chip.

    Signed-off-by: Wayne Boyer
    Acked-by: Brian King
    Signed-off-by: James Bottomley

    Wayne Boyer
     
  • The return value from pci_enable_msi() can not always be trusted. This patch
    adds code to generate an interrupt after MSI has been enabled and tests
    whether or not we can receive and process it. If the tests fails, then fall
    back to LSI.

    Signed-off-by: Wayne Boyer
    Acked-by: Brian King
    Signed-off-by: James Bottomley

    Wayne Boyer
     
  • There have been several bug reports which identified the Ultrium-3
    tape as just hanging up on the bus during certain types of IU
    transfer. The identified culpret is type 0x02 (MULTIPLE COMMAND)
    transfers. The only way to prevent this tape wedging is to prevent it
    from using IU transfers at all. So this patch uses the exported
    blacklist matching technology to recognise the drive and force it not
    to use IU transfers.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • Right at the moment, we carefully set up the spi_support_xx in the
    device configuration routines, but then we never actually use the
    results: we rely on the inquiry strings. If we're going to allow
    overrides to the inquiry data, we have to rely on our own internal
    settings.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • The current scsi_devinfo.c matching routines use a single table for
    the global blacklist. However, we're developing a need to blacklist
    from specific transports too (notably some tape drives using SPI which
    don't respond well to high speed protocols). Instead of developing
    separate blacklist matching for each transport class needing it,
    enhance the current list matching to permit multiple lists.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • Signed-off-by: Andrew Vasquez
    Signed-off-by: James Bottomley

    Andrew Vasquez
     
  • Commit 7b867cf76fbcc8d77867cbec6f509f71dce8a98f ([SCSI] qla2xxx:
    Refactor qla data structures) inadvertently reverted
    e792121ec85672c1fa48f79d13986a3f4f56c590 ([SCSI] qla2xxx: Correct
    overflow during dump-processing on large-memory ISP23xx parts.).

    Cc: stable@kernel.org
    Signed-off-by: Andrew Vasquez
    Signed-off-by: James Bottomley

    Andrew Vasquez
     
  • Pre-ISP24xx chips have dedicated uses for mailbox 4 and 5 which
    software should typically not query nor update.

    Signed-off-by: Andrew Vasquez
    Signed-off-by: James Bottomley

    Andrew Vasquez
     
  • * To set iiDMA speeds for ISP81XX, bits 5-0 are used whereas for
    other older ISPs bits 2-0 are used.
    * Pass proper VP index

    Signed-off-by: Harish Zunjarrao
    Signed-off-by: Andrew Vasquez
    Signed-off-by: James Bottomley

    Harish Zunjarrao
     
  • Cc: stable@kernel.org
    Signed-off-by: Anirban Chakraborty
    Signed-off-by: Andrew Vasquez
    Signed-off-by: James Bottomley

    Anirban Chakraborty
     
  • Just once, two fcoe instances got the same host number
    from scsi_add_host().

    Use atomic_t and atomic_inc_return() to get next host number.
    Subtract 1, so that scsi_host still starts with 0.

    [jejb: added comment about unusual subtraction]
    Signed-off-by: Joe Eykholt
    Signed-off-by: James Bottomley

    Joe Eykholt
     
  • We need to call blk_end_request_all to complete SMP requests properly.

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

    FUJITA Tomonori
     
  • Allow the user to control the debug logs in libiscsi. We will now
    have a module param for connection, session & error handling.

    [Mike Christie - Fixed up to compile on current code and added
    missing ISCSI_DBG_EH conversions]

    Signed-off-by: Erez Zilber
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Erez Zilber
     
  • The net layer might return -EAGAIN because it could not
    get space/mem within the sock sndtimeo or becuase the tcp/ip
    connection was down. For the latter we do not want to retry
    because the conn/session should just be shutdown and restarted.
    libiscsi knows the state of the session recovery so propogate
    this error to that layer. It will either do iscsi recovery
    or have us retry the operation. Right now if we have partially
    sent a pdu we would always retry the IO xmit slowing down
    recovery.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • If we are sending or receiving data for the task successfully do
    not run the scsi eh, because we know the task is making progress.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • The default kernel pages supported are 4K, 8K, 16K, and 64K. Re-calculate
    entries if PAGE_SIZE is not one of the defaults.

    Signed-off-by: Karen Xie
    Signed-off-by: James Bottomley

    Karen Xie
     
  • The iscsi ddp functionality could be used by multiple iscsi entities,
    add a refcnt to keep track of it, so we would not release it pre-maturely.

    Signed-off-by: Karen Xie
    Signed-off-by: James Bottomley

    Karen Xie
     
  • Query the block limits VPD page and adjust queue minimum and optimal I/O
    sizes.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: James Bottomley

    Martin K. Petersen
     
  • Detect non-rotational devices and set the queue flag accordingly.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: James Bottomley

    Martin K. Petersen
     
  • Extract physical block size and lowest aligned LBA from READ
    CAPACITY(16) response and adjust queue parameters.

    Report physical block size and alignment when applicable.

    [jejb: fix up trailing whitespace]
    Signed-off-by: Martin K. Petersen
    Signed-off-by: James Bottomley

    Martin K. Petersen
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (35 commits)
    Input: add driver for Synaptics I2C touchpad
    Input: synaptics - add support for reporting x/y resolution
    Input: ALPS - handle touchpoints buttons correctly
    Input: gpio-keys - change timer to workqueue
    Input: ads7846 - pin change interrupt support
    Input: add support for touchscreen on W90P910 ARM platform
    Input: appletouch - improve finger detection
    Input: wacom - clear Intuos4 wheel data when finger leaves proximity
    Input: ucb1400 - move static function from header into core
    Input: add driver for EETI touchpanels
    Input: ads7846 - more detailed model name in sysfs
    Input: ads7846 - support swapping x and y axes
    Input: ati_remote2 - use non-atomic bitops
    Input: introduce lm8323 keypad driver
    Input: psmouse - ESD workaround fix for OLPC XO touchpad
    Input: tsc2007 - make sure platform provides get_pendown_state()
    Input: uinput - flush all pending ff effects before destroying device
    Input: simplify name handling for certain input handles
    Input: serio - do not use deprecated dev.power.power_state
    Input: wacom - add support for Intuos4 tablets
    ...

    Linus Torvalds
     
  • * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (24 commits)
    agp/intel: Make intel_i965_mask_memory use dma_addr_t for physical addresses
    agp: add user mapping support to ATI AGP bridge.
    drm/i915: enable GEM on PAE.
    drm/radeon: fix unused variables warning
    agp: switch AGP to use page array instead of unsigned long array
    agpgart: detected ALi M???? chipset with M1621
    drm/radeon: command stream checker for r3xx-r5xx hardware
    drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM.
    radeon: Fix CP byte order on big endian architectures with KMS.
    agp/uninorth: Handle user memory types.
    drm/ttm: Add some powerpc cache flush code.
    radeon: Enable modesetting on non-x86.
    drm/radeon: Respect AGP cant_use_aperture flag.
    drm: EDID endianness fixes.
    drm/radeon: this VRAM vs aperture test is wrong, just remove it.
    drm/ttm: fix an error path to exit function correctly
    drm: Apply "Memory fragmentation from lost alignment blocks"
    ttm: Return -ERESTART when a signal interrupts bo eviction.
    drm: Remove memory debugging infrastructure.
    drm/i915: Clear fence register on tiling stride change.
    ...

    Linus Torvalds
     
  • * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (34 commits)
    ide-cd: prevent null pointer deref via cdrom_newpc_intr
    ide: BUG() on unknown requests
    ide: filter out invalid DMA xfer mode changes in HDIO_DRIVE_CMD ioctl handler
    ide: do not access ide_drive_t 'drive_data' field directly
    sl82c105: implement test_irq() method
    siimage: implement test_irq() method
    pdc202xx_old: implement test_irq() method (take 2)
    cmd64x: implement test_irq() method
    cmd640: implement test_irq() method
    ide: move ack_intr() method into 'struct ide_port_ops' (take 2)
    ide: move IRQ clearing from ack_intr() method to clear_irq() method (take 2)
    siimage: use ide_dma_test_irq() (take 2)
    cmd64x: implement clear_irq() method (take 2)
    ide: call clear_irq() method in ide_timer_expiry()
    sgiioc4: coding style cleanup
    ide: don't enable IORDY at a probe time
    ide: IORDY handling fixes
    ata: add ata_id_pio_need_iordy() helper (v2)
    ide-tape: fix build issue
    ide: unify interrupt reason checking
    ...

    Linus Torvalds
     

20 Jun, 2009

2 commits

  • With 2.6.30, the error handling code in cdrom_newpc_intr was changed
    to deal with partial request failures by normally completing the 'good'
    parts of a request and only 'error' the last (and presumably,
    incompletely transferred) bio associated with a particular
    request. In order to do this, ide_complete_rq is called over
    ide_cd_error_cmd() to partially complete the rq. The block layer
    does partial completion only for requests with bio's and if the
    rq doesn't have one (eg 'GPCMD_READ_DISC_INFO') the request is
    completed as a whole and the drive->hwif->rq pointer set to NULL
    afterwards. When calling ide_complete_rq again to report
    the error, this null pointer is derefenced, resulting in a kernel
    crash.

    This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13399.

    Signed-off-by: Rainer Weikusat
    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Rainer Weikusat
     
  • This driver supports Synaptics I2C touchpad controller on eXeda
    mobile device. Unfortunaltely it only works in relative mode and
    thus is not comaptible with Xorg Synaptics driver.

    Signed-off-by: Igor Grinberg
    Signed-off-by: Mike Rapoport
    Signed-off-by: Dmitry Torokhov

    Mike Rapoport