Subject: [PATCH01] scsi: improve areca driver stability and compatibility

From: Nick Cheng <[EMAIL PROTECTED]>

Description:
    1. Implement PCI-Express error recovery function and AER capability, 
especially     thanks to Yanmin Zhang's openhanded help about AER
    2. Implement the selection of ARCMSR_MAX_XFER_SECTORS_B=4096 if firmware    
version is latter than 1.42
    3. Add arcmsr_done4_abort_postqueue in arcmsr_iop_reset function to improve 
        the stability as hot-unplug/plug
    4. Modify the ISR, arcmsr_interrupt routine, to prevent the inconsistency 
with      sg_mod driver if application directly calls the arcmsr driver w/o 
passing through       scsi midlayer 

Signed-off-by: Nick Cheng <[EMAIL PROTECTED]>

PS. 
        1. In order to highlight the changes of the functionality, this 
submission does not     use the 80-column rule. If the submission is adopted 
successfully, I will make  another patch under the 80-column rule.

        2. I attach the Linux Kernel patch submittal checklist that we have 
checked and         I retain the original line number for your double check. 
Hopefully this will not        disturb your review. 

Attachment: patch01-arcmsr.1.20.00.14 to KernelOrg
Description: Binary data

Linux Kernel patch submittal checklist

¡½ 1: Builds cleanly with applicable or modified CONFIG options =y, =m, and =n. 
No gcc warnings/errors, no linker warnings/errors.

¡½ 2: Passes allnoconfig, allmodconfig

¡½ 5: Matches kernel coding style (except for the 80-column rule)

¡½ 6: Any new or modified CONFIG options don't muck up the config menu

¡½ 7: All new Kconfig options have help text

¡½ 8: Has been carefully reviewed with respect to relevant Kconfig combinations
 
¡½ 9: Check cleanly with sparse

¡½ 10: Use¡¥make checkstack¡¦and 'make namespacecheck' and fix any problems 
that they find. Note: checkstack does not point out problems explicitly, but 
any one function that uses more than 512 bytes on the stack is a candidate for 
change

¡½ 11: Include kernel-doc to document global kernel APIs (Not required for 
static functions, but OK there also.) Use 'make htmldocs' or 'make mandocs' to 
check the kernel-doc and fix any issues

¡½ 12: Has been tested with CONFIG_PREEMPT, CONFIG_DEBUG_SLAB, 
CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_SPINLOCK_SLEEP all 
simultaneously enabled

¡½ 13: Has been build- and runtime tested with and without CONFIG_SMP and 
CONFIG_PREEMPT.

¡½ 15: All codepaths have been exercised with all lockdep features enabled

¡½ 16: All new /proc entries are documented under Documentation/

¡½ 17: All new kernel boot parameters are documented in 
Documentation/kernel-parameters.txt.

¡½ 19: All new userspace interfaces are documented in Documentation/ABI/. 

¡½ 20: Check that it all passes `make headers_check'

¡½ 21: Has been checked with injection of at least slab and page-allocation 
failures with Documentation/fault-injection/failcmd.sh

Reply via email to