- 07 1月, 2016 25 次提交
-
-
由 Finn Thain 提交于
The atari_NCR5380.c core driver now takes care of bus reset upon driver initialization if required (same as NCR5380.c). Move the Toshiba CD-ROM support into the core driver, enabled with a host flag, so that all NCR5380 drivers can make use of it. Drop the RESET_BOOT macros and the ATARI_SCSI_RESET_BOOT and ATARI_SCSI_TOSHIBA_DELAY Kconfig symbols, which are now redundant. Remove the atari_scsi_reset_boot(), mac_scsi_reset_boot() and sun3_scsi_reset_boot() routines. None of this duplicated code is needed now that all drivers can use NCR5380_maybe_reset_bus(). This brings atari_scsi, mac_scsi and sun3_scsi into line with all of the other NCR5380 drivers. The bus reset may raise an interrupt. That would be new behaviour for atari_scsi only when CONFIG_ATARI_SCSI_RESET_BOOT=n. The ST DMA interrupt is not assigned to atari_scsi at this stage, so CONFIG_ATARI_SCSI_RESET_BOOT=y may well be problematic already. Regardless, do_reset() now raises and clears the interrupt within local_irq_save/restore which should avoid problems. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Merge the bus reset code from NCR5380.c into atari_NCR5380.c. This allows for removal of a lot of duplicated code conditional on the RESET_BOOT macro (in the next patch). The atari_NCR5380.c fork lacks the do_reset() and NCR5380_poll_politely() routines from NCR5380.c, so introduce them. They are indispensible. Keep the two implementations in sync. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Move board-specific code like this, NCR5380_write(C400_CONTROL_STATUS_REG, CSR_BASE); from the core driver to the board driver. Eliminate the NCR53C400 macro from the core driver. Removal of all macros like this one will be necessary in order to have one core driver that can support all kinds of boards. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
This patch splits the NCR5380_init() function into two parts, similar to the scheme used with atari_NCR5380.c. This avoids two problems. Firstly, NCR5380_init() may perform a bus reset, which would cause the chip to assert IRQ. The chip is unable to mask its bus reset interrupt. Drivers can't call request_irq() before calling NCR5380_init(), because initialization must happen before the interrupt handler executes. If driver initialization causes an interrupt it may be problematic on some platforms. To avoid that, first move the bus reset code into NCR5380_maybe_reset_bus(). Secondly, NCR5380_init() contains some board-specific interrupt setup code for the NCR53C400 that does not belong in the core driver. In moving this code, better not re-order interrupt initialization and bus reset. Again, the solution is to move the bus reset code into NCR5380_maybe_reset_bus(). Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
This macro makes the code cryptic. Remove it. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
The NCR5380_local_declare and NCR5380_setup macros exist to define and initialize a particular local variable, to provide the address of the chip registers needed for the driver's implementation of its NCR5380_read/write register access macros. In cumana_1 and macscsi, these macros generate pointless code like this, struct Scsi_Host *_instance; _instance = instance; In pas16, the use of NCR5380_read/write in pas16_hw_detect() requires that the io_port local variable has been defined and initialized, but the NCR5380_local_declare and NCR5380_setup macros can't be used for that purpose because the Scsi_Host struct has not yet been instantiated. Moreover, these macros were removed from atari_NCR5380.c long ago and now they constitute yet another discrepancy between the two core driver forks. Remove these "optimizations". Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
ASM macro is never defined. rtrc in pas16.c is not used. NCR5380_map_config, do_NCR5380_intr, do_t128_intr and do_pas16_intr are unused. NCR_NOT_SET harms readability. Remove them. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Replace {P,T,DTC}DEBUG_INIT with NDEBUG_INIT. Remove dead debugging code, including code that's conditional upon *DEBUG_TRANSFER. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
The NVRAM location of this byte is 16, as documented in http://toshyp.atari.org/en/004009.html This was confirmed by Michael Schmitz, by setting the SCSI host ID under EmuTOS and then checking the value in /proc/driver/nvram and /dev/nvram under Linux. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Manoj Kumar 提交于
This drop enables a future card with a device id of 0x0600 to be recognized by the cxlflash driver. As per the design, the Accelerator Function Unit (AFU) for this new IBM CXL Flash Adapter retains the same host interface as the previous generation. For the early prototypes of the new card, the driver with this change behaves exactly as the driver prior to this behaved with the earlier generation card. Therefore, no card specific programming has been added. These card specific changes can be staged in later if needed. Signed-off-by: NManoj N. Kumar <manoj@linux.vnet.ibm.com> Acked-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Reviewed-by: NAndrew Donnellan <andrew.donnellan@au1.ibm.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Manoj Kumar 提交于
If an async error interrupt is generated, and the error requires the FC link to be reset, it cannot be performed in the interrupt context. So a work element is scheduled to complete the link reset in a process context. If either an EEH event or an escalation occurs in between when the interrupt is generated and the scheduled work is started, the MMIO space may no longer be available. This will cause an oops in the worker thread. [ 606.806583] NIP kthread_data+0x28/0x40 [ 606.806633] LR wq_worker_sleeping+0x30/0x100 [ 606.806694] Call Trace: [ 606.806721] 0x50 (unreliable) [ 606.806796] wq_worker_sleeping+0x30/0x100 [ 606.806884] __schedule+0x69c/0x8a0 [ 606.806959] schedule+0x44/0xc0 [ 606.807034] do_exit+0x770/0xb90 [ 606.807109] die+0x300/0x460 [ 606.807185] bad_page_fault+0xd8/0x150 [ 606.807259] handle_page_fault+0x2c/0x30 [ 606.807338] wait_port_offline.constprop.12+0x60/0x130 [cxlflash] To prevent the problem space area from being unmapped, when there is pending work, a mapcount (using the kref mechanism) is held. The mapcount is released only when the work is completed. The last reference release is tied to the unmapping service. Signed-off-by: NManoj N. Kumar <manoj@linux.vnet.ibm.com> Acked-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Reviewed-by: NUma Krishnan <ukrishn@linux.vnet.ibm.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Manoj Kumar 提交于
After a few iterations of resetting the card, either during EEH recovery, or a host_reset the following is seen in the logs. cxlflash 0008:00: cxlflash_queuecommand: could not get a free command At every reset of the card, the commands that are outstanding are being leaked. No effort is being made to reap these commands. A few more resets later, the above error message floods the logs and the card is rendered totally unusable as no free commands are available. Iterated through the 'cmd' queue and printed out the 'free' counter and found that on each reset certain commands were in-use and stayed in-use through subsequent resets. To resolve this issue, when the card is reset, reap all the commands that are active/outstanding. Signed-off-by: NManoj N. Kumar <manoj@linux.vnet.ibm.com> Acked-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Reviewed-by: NAndrew Donnellan <andrew.donnellan@au1.ibm.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Uma Krishnan 提交于
Having a date for the driver requires it to be updated quite often. Removing the date which is not necessary. Also made use of the existing symbol to print the driver name. Signed-off-by: NUma Krishnan <ukrishn@linux.vnet.ibm.com> Reviewed-by: NAndrew Donnellan <andrew.donnellan@au1.ibm.com> Acked-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Matthew R. Ochs 提交于
Applications which use virtual LUN's that are backed by a physical LUN over both adapter ports may experience an I/O failure in the event of a link loss (e.g. cable pull). Virtual LUNs may be accessed through one or both ports of the adapter. This access is encoded in the translation entries that comprise the virtual LUN and used by the AFU for load-balancing I/O and handling failover scenarios. In a link loss scenario, even though the AFU is able to maintain connectivity to the LUN, it is up to the application to retry the failed I/O. When applications are unaware of the virtual LUN's underlying topology, they are unable to make a sound decision of when to retry an I/O and therefore are forced to make their reaction to a failed I/O absolute. The result is either a failure to retry I/O or increased latency for scenarios where a retry is pointless. To remedy this scenario, provide feedback back to the application on virtual LUN creation as to which ports the LUN may be accessed. LUN's spanning both ports are candidates for a retry in a presence of an I/O failure. Signed-off-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Acked-by: NManoj Kumar <manoj@linux.vnet.ibm.com> Reviewed-by: NUma Krishnan <ukrishn@linux.vnet.ibm.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Manoj Kumar 提交于
The original fix to escalate a 'login timed out' error to a LINK_RESET was only made for one of the two ports on the card. This fix resolves the same issue for the second port (port 1). Signed-off-by: NManoj N. Kumar <manoj@linux.vnet.ibm.com> Acked-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Reviewed-by: NUma Krishnan <ukrishn@linux.vnet.ibm.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 K. Y. Srinivasan 提交于
On the interrupt path, we repeatedly establish the pointer to the storvsc_device. While the compiler does inline get_in_stor_device() (and other static functions) in the call chain in the interrupt path, the compiler is repeatedly inlining the call to get_in_stor_device() each time it is invoked. The return value of get_in_stor_device() can be cached in the interrupt path since there is higher level serialization in place to ensure correct handling when the module unload races with the processing of an incoming message from the host. Optimize this code path by caching the pointer to storvsc_device and passing it as an argument. Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com> Reviewed-by: NLong Li <longli@microsoft.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NAlex Ng <alexng@microsoft.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 K. Y. Srinivasan 提交于
The function storvsc_channel_init() repeatedly interacts with the host to extract various channel properties. Refactor this code to eliminate code repetition. Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com> Reviewed-by: NLong Li <longli@microsoft.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NAlex Ng <alexng@microsoft.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 K. Y. Srinivasan 提交于
For FC devices managed by this driver, atttach the appropriate transport template. This will allow us to create the appropriate sysfs files for these devices. With this we can publish the wwn for both the port and the node. Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com> Reviewed-by: NLong Li <longli@microsoft.com> Tested-by: NAlex Ng <alexng@microsoft.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 K. Y. Srinivasan 提交于
The hv_fc_wwn_packet is exchanged over vmbus. Make the definition in Linux match the Windows definition. Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Reviewed-by: NLong Li <longli@microsoft.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NAlex Ng <alexng@microsoft.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Wilfried Weissmann 提交于
Add SGPIO support to Marvell 94xx. Signed-off-by: NWilfried Weissmann <Wilfried.Weissmann@gmx.at> Reviewed-by: NJames Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Tomas Henzl 提交于
It might happen that we try to free an already freed pointer. Reported-by: NMaurizio Lombardi <mlombard@redhat.com> Signed-off-by: NTomas Henzl <thenzl@redhat.com> Acked-by: NChaitra P B <chaitra.basappa@avagotech.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Don Brace 提交于
Adding a new method to display enclosure device information. Reviewed-by: NJustin Lindley <justin.lindley@pmcs.com> Reviewed-by: NKevin Barnett <kevin.barnett@pmcs.com> Reviewed-by: NScott Teel <scott.teel@pmcs.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Signed-off-by: NDon Brace <don.brace@pmcs.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Don Brace 提交于
SAS transport places devices on bus 0 but driver was setting the bus to 3. Reviewed-by: NJustin Lindley <justin.lindley@pmcs.com> Reviewed-by: NKevin Barnett <kevin.barnett@pmcs.com> Reviewed-by: NScott Teel <scott.teel@pmcs.com> Reviewed-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Signed-off-by: NDon Brace <don.brace@pmcs.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Don Brace 提交于
Left off some changes from Rasmus Villemoes where he changed snprintf to scnprintf. Suggested-by: NRasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: NJustin Lindley <justin.lindley@pmcs.com> Reviewed-by: NKevin Barnett <kevin.barnett@pmcs.com> Reviewed-by: NScott Teel <scott.teel@pmcs.com> Reviewed-by: NRasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: NHannes Reinecke <hare@suse.com> Signed-off-by: NDon Brace <don.brace@pmcs.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 05 1月, 2016 1 次提交
-
-
由 Colin Ian King 提交于
The max outstanding commands is being printed with a 0x prefix to suggest it is a hex value, when in fact the integer decimal %d format specifier is being used and this is a bit confusing. Use %x instead to match the proceeding 0x prefix. Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 22 12月, 2015 14 次提交
-
-
由 Martin K. Petersen 提交于
The OPTIMAL TRANSFER LENGTH reported by scsi_debug is 64 blocks which translates to 32KB with the default logical block size. That's much lower than what real storage devices typically report (256KB to 1MB). Bump the optimal transfer length to 1024 blocks. Acked-by: NDouglas Gilbert <dgilbert@interlog.com> Reviewed-by: NEwan Milne <emilne@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Update version to 11.0.0.10 for upstream patch set Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Punit Vara 提交于
This patch is to the lpfc_els.c which resolves following warning reported by coccicheck: WARNING: kzalloc should be used for rdp_context, instead of kmalloc/memset Signed-off-by: NPunit Vara <punitvara@gmail.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Reviewed-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com> Reviewed-by: NSebastian Herbszt <herbszt@gmx.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Markus Elfring 提交于
The mempool_destroy() function tests whether its argument is NULL and then returns immediately. Thus the test around the calls is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: NMarkus Elfring <elfring@users.sourceforge.net> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Reviewed-by: NSebastian Herbszt <herbszt@gmx.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Add logging for misconfigured optics acqe reported by fw. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Fix external loopback failure. Rx sequence reassembly was incorrect. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Fix mbox reuse in PLOGI completion. Moved allocations so that buffer properly init'd. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Use new FDMI speed definitions for 10G, 25G and 40G FCoE. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Make write check error processing more resilient. Checks to catch writes that fw reports weren't fully complete yet SCSI status indicated fine needed correction. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Fix RDP ACC being too long. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Fix RDP Speed reporting. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Modularize, cleanup, add comments - for FDMI code in driver Note: I don't like the comments with leading # - but as we have a lot if present, I'm deferring to handle it in one big fix later. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Fix crash in fcp command completion path. Missed null check. Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 James Smart 提交于
Fix driver crash when module parameter lpfc_fcp_io_channel set to 16 Signed-off-by: NDick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: NJames Smart <james.smart@avagotech.com> Reviewed-by: NHannes Reinicke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-