- 13 6月, 2017 18 次提交
-
-
由 Raghava Aditya Renukunta 提交于
Remove reference to Series-9 HBA and created arc ctrl check function. Signed-off-by: NPrasad B Munirathnam <prasad.munirathnam@microsemi.com> Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Added info and error messages in controller reset function to log information about the status of the IOP/SOFT reset. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Make sure that IOP and SOFT reset are enabled for both for both arc and hba1000 controllers. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Made sure that ioctl commands return in case of a controller reset. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The command thread checks the ctrl health periodically before sending updates to the controller. The function that it uses is aac_check_health which does more than get the health status. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Removed switch case and replaced with if mask checks. Moved KERNEL_PANIC check to when bled is less than 0. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Now the driver issues a soft reset and waits for the controller to be up and running by periodically checking on the status of the controller health registers. Also prevents ARC adapters from issuing soft reset if IOP resets failed. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Added function that waits with a timeout for the ctrl to be up and running after triggering an IOP reset. Also removed 30 sec sleep as it is not needed. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Reworked IOP reset to remove unneeded variable and created a helper function to notify fw of an imminent IOP reset. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The driver can now trigger IOP reset with a single reset mask. Removed code that retrieves a reset_mask from the firmware. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Log the status of the controller before issuing a reset. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Log the location of the scsi cmds before triggering a reset. This information is useful for debugging. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Change the completion wait time for the fibs in the reset and abort callback from 2 minutes to 15 seconds. 2 minutes is too long for waiting for completion. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Check health does not need to reset the ctrl but just return the controller health status. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The default queue depth for non NATIVE RAW disks is calculated from the number of fibs and number of disks or a max of 256. This causes poor disk IO performance. The fix is to set default qd based on the type of disks (SATA -32 and SAS -64) Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The qd for ARC Native disks is calculated by dividing the max IO 1024 by the number of disks or 256 which ever is lower. This causes poor disk IO performance. The fix is set the qd based on the type of disk (SAS - 64 and SATA - 32). Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The driver changed the DMA consistent map after consistent memory was allocated, this invalidated the IOMMU identity mapping. The fix was to make sure that we set the DMA consistent mask setting once depending on the controller card. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The raw srb commands do not requires memory that in the ZONE_DMA memory space. For 32bit srb commands use GFP_DMA32 to limit the memory to 32bit memory range (4GB). Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 27 4月, 2017 1 次提交
-
-
由 Mahesh Rajashekhara 提交于
There were pci_alloc_consistent() failures on ARM64 platform. Use dma_alloc_coherent() with GFP_KERNEL flag DMA memory allocations. Signed-off-by: NMahesh Rajashekhara <mahesh.rajashekhara@microsemi.com> [hch: tweaked indentation, removed memsets] Signed-off-by: NChristoph Hellwig <hch@lst.de> Acked-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 12 4月, 2017 1 次提交
-
-
由 Guilherme G. Piccoli 提交于
During a PCI error recovery, if aac_check_health() is not aware that a PCI error happened and we have an offline PCI channel, it might trigger some errors (like NULL pointer dereference) and inhibit the error recovery process to complete. This patch makes the health check procedure aware of PCI channel issues, and in case of error recovery process, the function aac_adapter_check_health() returns -1 and let the recovery process to complete successfully. This patch was tested on upstream kernel v4.11-rc5 in PowerPC ppc64le architecture with adapter 9005:028d (VID:DID) - the error recovery procedure was able to recover fine. Fixes: 5c63f7f7 ("aacraid: Added EEH support") Cc: stable@vger.kernel.org # v4.6+ Signed-off-by: NGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com> Reviewed-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 16 3月, 2017 1 次提交
-
-
由 Raghava Aditya Renukunta 提交于
Currently, command threads fails to return ioctls commands for older controller versions, since it returns when all the fibs have been allocated. Another issue is even all the fibs have not been allocated, the correct allocated fibs is not updated nor freed. Fixes: 113156bc (scsi: aacraid: Reworked aac_command_thread) Reported-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 07 3月, 2017 1 次提交
-
-
由 Raghava Aditya Renukunta 提交于
The return status of the adapter check on KERNEL_PANIC is supposed to be the upper 16 bits of the OMR status register. Fixes: c421530b (scsi: aacraid: Reorder Adpater status check) Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 28 2月, 2017 2 次提交
-
-
由 Colin Ian King 提交于
The check for ret being zero is redundant as a few statements earlier we break out of the while loop if ret is non-zero. Thus we can remove the zero check and also the dead-code non-zero case too. Detected by CoverityScan, CID#1411632 ("Logically Dead Code") Signed-off-by: NColin Ian King <colin.king@canonical.com> Acked-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Masahiro Yamada 提交于
Fix typos and add the following to the scripts/spelling.txt: therfore||therefore Besides, tidy up comment blocks for 80-col wrapping. Link: http://lkml.kernel.org/r/1481573103-11329-31-git-send-email-yamada.masahiro@socionext.comSigned-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 24 2月, 2017 1 次提交
-
-
由 Raghava Aditya Renukunta 提交于
Current driver Hotplug processing code skips over Enclosure channel, therefore any addition/removal of expander enclosure is not processed. Additionally device addition code relies on older device type, which prevents the hotplug of adapter expanders. Fixed by removing code that skips over Enclosure channels and using the latest device type for addition or removal or enclosure expanders. Fixes: 6223a39f (scsi: aacraid: Added support for hotplug) Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDave Carroll <david.carroll@microsemi.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 23 2月, 2017 15 次提交
-
-
由 Raghava Aditya Renukunta 提交于
Updated driver version to 50792 Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The driver does not unlock the reply queue spin lock after handling SMART adapter events. Instead it might attempt to unlock an already unlocked spin lock. Fixed by making sure the driver locks the spin lock before freeing it. Thank you dan for finding this issue out. Fixes: 6223a39f (scsi: aacraid: Added support for hotplug) Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Currently the adapter firmware does not save outstanding I/O's log information when an IOP reset is triggered. This is problematic when trying to root cause and debug issues. Fixed by adding sync command to trigger I/O log file save in the adapter firmware before issuing an IOP reset. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The driver currently checks the SELF_TEST_FAILED first and then KERNEL_PANIC next. Under error conditions(boot code failure) both SELF_TEST_FAILED and KERNEL_PANIC can be set at the same time. The driver has the capability to reset the controller on an KERNEL_PANIC, but not on SELF_TEST_FAILED. Fixed by first checking KERNEL_PANIC and then the others. Cc: stable@vger.kernel.org Fixes: e8b12f0f ([SCSI] aacraid: Add new code for PMC-Sierra's SRC base controller family) Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
When the SMART family of controller panic (KERNEL_PANIC) , they do not honor IOP resets. So better to skip it and directly perform a IWBR reset. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Currently driver checks the health status of the adapter once every 24 hours. When that happens the driver becomes dependent on the kernel to figure out if the adapter is misbehaving. This might take some time (when the adapter is idle). The driver currently has support to restart/recover the controller when it fails, and decreasing the time interval will help. Fixed by decreasing check interval from 24 hours to 1 minute Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
During the IOP reset stress testing, it was found that the drives can be marked offline when the adapter controller crashes and IO's are running in parallel. When the controller does come back from the reset, the drive that is marked offline is not exposed. Fixed by removing and adding drives that are marked offline. In addition invoke a scsi host bus rescan to capture any additional configuration changes. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
aac_command_thread checks on the health of controller periodically, using aac_check_health. If the status is an error state KERNEL_PANIC or anything else. The driver will attempt to restart the adapter, but the response is not checked in aac_command_thread. This allows the periodic sync to go thru and lead the driver to a hung state. Fixed by terminating the periodic loop(intended per original design), if the controller is not restored to a healthy state. Cc: stable@vger.kernel.org Fixes: 3d77d840 (scsi: aacraid: Added support for periodic wellness sync) Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
After controller shutdown, all sync fibs time out due to not knowing about the switch to INT-x mode Fixed by replacing aac_src_access_devreg() to aac_set_intx_mode() call. Cc: stable@vger.kernel.org Fixes: 495c0217 (aacraid: MSI-x support) Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Added support to retrieve driver version from a new sysfs variable called driver_version. It makes it easier for the user to figure out the driver version that is currently running. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
aac_fib_map_free frees misaligned fib dma memory, additionally it does not free up the whole memory. Fixed by changing the code to free up the correct and full memory allocation. Cc: stable@vger.kernel.org Fixes: e8b12f0f ([SCSI] aacraid: Add new code for PMC-Sierra's SRC based controller family) Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Arrconf management utility at times sends fibs with AdapterProcessed set in its fibs. This causes the controller to panic and lockup. Fixed by failing the commands that have AdapterProcessed set in its flag. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
This issue showed up on a kdump debug(single CPU on powerkvm), when EEH errors rendered the adapter unusable. The driver correctly detected the issue and attempted to restart the controller, in doing so the driver attempted to read the status registers of the controller. This triggered additional eeh errors which continued for a good 6 minutes. Fixed by returning without waiting when EEH error is reported. Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
The channel being used for raw srb commands is retrieved from the utility sent fibs and is converted into physical channel id. The driver does not need to to do this since the management utility sends the correct channel id in the first place and in addition the driver sets inaccurate information in the cmd sent to the firmware and gets an invalid response. Fixed by using channel id from srb command. Cc: stable@vger.kernel.org Fixes: 423400e6 ("scsi: aacraid: Include HBA direct interface") Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Raghava Aditya Renukunta 提交于
Replaced camel case with snake case for init supported options. Suggested-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: NDavid Carroll <David.Carroll@microsemi.com> Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-