Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) Release Date	: Thu Nov 16 15:32:35 EST 2006 -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 				Sumant Patro <sumant.patro@lsi.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) Current Version : 2.20.5.1 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) Older Version	: 2.20.4.9 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 1.	Changes in Initialization to fix kdump failure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 	Send SYNC command on loading.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	This command clears the pending commands in the adapter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 	and re-initialize its internal RAID structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 	Without this change, megaraid driver either panics or fails to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 	initialize the adapter during kdump's second kernel boot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	if there are pending commands or interrupts from other devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 	sharing the same IRQ.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 2. 	Authors email-id domain name changed from lsil.com to lsi.com.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 	Also modified the MODULE_AUTHOR to megaraidlinux@lsi.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) Release Date	: Fri May 19 09:31:45 EST 2006 - Seokmann Ju <sju@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) Current Version : 2.20.4.9 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) Older Version	: 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 1.	Fixed a bug in megaraid_init_mbox().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	Customer reported "garbage in file on x86_64 platform".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	Root Cause: the driver registered controllers as 64-bit DMA capable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	for those which are not support it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	Fix: Made change in the function inserting identification machanism
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	identifying 64-bit DMA capable controllers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	> -----Original Message-----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	> From: Vasily Averin [mailto:vvs@sw.ru]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	> Sent: Thursday, May 04, 2006 2:49 PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	> To: linux-scsi@vger.kernel.org; Kolli, Neela; Mukker, Atul;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	> Ju, Seokmann; Bagalkote, Sreenivas;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	> James.Bottomley@SteelEye.com; devel@openvz.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	> Subject: megaraid_mbox: garbage in file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	> Hello all,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	> I've investigated customers claim on the unstable work of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	> their node and found a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	> strange effect: reading from some files leads to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	>  "attempt to access beyond end of device" messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	> I've checked filesystem, memory on the node, motherboard BIOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	> version, but it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	> does not help and issue still has been reproduced by simple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	> file reading.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	> Reproducer is simple:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	> echo 0xffffffff >/proc/sys/dev/scsi/logging_level ;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	> cat /vz/private/101/root/etc/ld.so.cache >/tmp/ttt  ;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	> echo 0 >/proc/sys/dev/scsi/logging
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	> It leads to the following messages in dmesg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	> sd_init_command: disk=sda, block=871769260, count=26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	> sda : block=871769260
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	> sda : reading 26/26 512 byte blocks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	> scsi_add_timer: scmd: f79ed980, time: 7500, (c02b1420)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	> sd 0:1:0:0: send 0xf79ed980                  sd 0:1:0:0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	>         command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	> buffer = 0xf7cfb540, bufflen = 13312, done = 0xc0366b40,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	> queuecommand 0xc0344010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	> leaving scsi_dispatch_cmnd()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	> scsi_delete_timer: scmd: f79ed980, rtn: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	> sd 0:1:0:0: done 0xf79ed980 SUCCESS        0 sd 0:1:0:0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	>         command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	> scsi host busy 1 failed 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	> sd 0:1:0:0: Notifying upper driver of completion (result 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	> sd_rw_intr: sda: res=0x0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	> 26 sectors total, 13312 bytes done.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	> use_sg is 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	> attempt to access beyond end of device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	> sda6: rw=0, want=1044134458, limit=951401367
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	> Buffer I/O error on device sda6, logical block 522067228
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	> attempt to access beyond end of device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 2.	When INQUIRY with EVPD bit set issued to the MegaRAID controller,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	system memory gets corrupted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	Root Cause: MegaRAID F/W handle the INQUIRY with EVPD bit set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	incorrectly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	Fix: MegaRAID F/W has fixed the problem and being process of release,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	soon. Meanwhile, driver will filter out the request.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 3.	One of member in the data structure of the driver leads unaligne
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	issue on 64-bit platform.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	Customer reporeted "kernel unaligned access addrss" issue when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	application communicates with MegaRAID HBA driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	Root Cause: in uioc_t structure, one of member had misaligned and it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	led system to display the error message.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	Fix: A patch submitted to community from following folk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	> -----Original Message-----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	> From: linux-scsi-owner@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	> [mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of Sakurai Hiroomi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	> Sent: Wednesday, July 12, 2006 4:20 AM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	> To: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	> Subject: Re: Help: strange messages from kernel on IA64 platform
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	> Hi,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	> I saw same message.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	> When GAM(Global Array Manager) is started, The following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	> message output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	> kernel: kernel unaligned access to 0xe0000001fe1080d4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	> ip=0xa000000200053371
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	> The uioc structure used by ioctl is defined by packed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	> the allignment of each member are disturbed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	> In a 64 bit structure, the allignment of member doesn't fit 64 bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 	> boundary. this causes this messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	> In a 32 bit structure, we don't see the message because the allinment
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	> of member fit 32 bit boundary even if packed is specified.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	> patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	> I Add 32 bit dummy member to fit 64 bit boundary. I tested.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	> We confirmed this patch fix the problem by IA64 server.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	> **************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	> ****************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	> --- linux-2.6.9/drivers/scsi/megaraid/megaraid_ioctl.h.orig
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	> 2006-04-03 17:13:03.000000000 +0900
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	> +++ linux-2.6.9/drivers/scsi/megaraid/megaraid_ioctl.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	> 2006-04-03 17:14:09.000000000 +0900
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	> @@ -132,6 +132,10 @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	>  /* Driver Data: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	>          void __user *           user_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	>          uint32_t                user_data_len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	> +
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	> +        /* 64bit alignment */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	> +        uint32_t                pad_0xBC;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	> +
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	>          mraid_passthru_t        __user *user_pthru;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 	>          mraid_passthru_t        *pthru32;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	> **************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	> ****************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) Release Date	: Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju <sju@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) Older Version	: 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 1.	Fixed a bug in megaraid_reset_handler().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	Customer reported "Unable to handle kernel NULL pointer dereference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	at virtual address 00000000" when system goes to reset condition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 	for some reason. It happened randomly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	Root Cause: in the megaraid_reset_handler(), there is possibility not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	returning pending packets in the pend_list if there are multiple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	pending packets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	Fix: Made the change in the driver so that it will return all packets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	in the pend_list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 2.	Added change request.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 	As found in the following URL, rmb() only didn't help the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	problem. I had to increase the loop counter to 0xFFFFFF. (6 F's)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	http://marc.theaimsgroup.com/?l=linux-scsi&m=110971060502497&w=2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	I attached a patch for your reference, too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	Could you check and get this fix in your driver?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	Best Regards,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	Jun'ichi Nomura
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) Release Date	: Fri Nov 11 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) Current Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) Older Version	: 2.20.4.6 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 1.	Sorted out PCI IDs to remove megaraid support overlaps.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	Based on the patch from Daniel, sorted out PCI IDs along with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	character node name change from 'megadev' to 'megadev_legacy' to avoid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 	conflict.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 	---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 	Hopefully we'll be getting the build restriction zapped much sooner, 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	but we should also be thinking about totally removing the hardware 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	support overlap in the megaraid drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 	This patch pencils in a date of Feb 06 for this, and performs some 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	printk abuse in hope that existing legacy users might pick up on what's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 	going on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 	Signed-off-by: Daniel Drake <dsd@gentoo.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 	---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 2.	Fixed a issue: megaraid always fails to reset handler.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	I found that the megaraid driver always fails to reset the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	adapter with the following message:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 		megaraid: resetting the host...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 		megaraid mbox: reset sequence completed successfully
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 		megaraid: fast sync command timed out
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 		megaraid: reservation reset failed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 	when the "Cluster mode" of the adapter BIOS is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 	So, whenever the reset occurs, the adapter goes to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	offline and just become unavailable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 	Jun'ichi Nomura [mailto:jnomura@mtc.biglobe.ne.jp]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) Release Date	: Mon Mar 07 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) Current Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) Older Version	: 2.20.4.5 (scsi module), 2.20.2.5 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 1.	Added IOCTL backward compatibility.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 	Convert megaraid_mm driver to new compat_ioctl entry points.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 	I don't have easy access to hardware, so only compile tested.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 		- Signed-off-by:Andi Kleen <ak@muc.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 2.	megaraid_mbox fix: wrong order of arguments in memset()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	That, BTW, shows why cross-builds are useful-the only indication of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 	problem had been a new warning showing up in sparse output on alpha
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 	build (number of exceeding 256 got truncated).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 		- Signed-off-by: Al Viro
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 		<viro@parcelfarce.linux.theplanet.co.uk>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 3.	Convert pci_module_init to pci_register_driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	Convert from pci_module_init to pci_register_driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	(from:http://kernelnewbies.org/KernelJanitors/TODO)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 		- Signed-off-by: Domen Puncer <domen@coderock.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 4.	Use the pre defined DMA mask constants from dma-mapping.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 	Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 	pci_set_dma_mask() or pci_set_consistend_dma_mask(). See
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 	http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 	details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 		Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 		Signed-off-by: Domen Puncer <domen@coderock.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 5.	Remove SSID checking for Dobson, Lindsay, and Verde based products.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 	Checking the SSVID/SSID for controllers which have Dobson, Lindsay,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	and Verde is unnecessary because device ID has been assigned by LSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 	and it is unique value. So, all controllers with these IOPs have to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 	supported by the driver regardless SSVID/SSID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 6.	Date Thu, 27 Jan 2005 04:31:09 +0100 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 	From Herbert Poetzl <> 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 	Subject RFC: assert_spin_locked() for 2.6 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 	Greetings!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 	overcautious programming will kill your kernel ;)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 	ever thought about checking a spin_lock or even
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 	asserting that it must be held (maybe just for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 	spinlock debugging?) ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 	there are several checks present in the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 	where somebody does a variation on the following:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 	  BUG_ON(!spin_is_locked(&some_lock));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 	so what's wrong about that? nothing, unless you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 	compile the code with CONFIG_DEBUG_SPINLOCK but 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 	without CONFIG_SMP ... in which case the BUG()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 	will kill your kernel ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 	maybe it's not advised to make such assertions, 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 	but here is a solution which works for me ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 	(compile tested for sh, x86_64 and x86, boot/run
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 	tested for x86 only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 	best,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 	Herbert
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 		- Herbert Poetzl <herbert@13thfloor.at>, Thu, 27 Jan 2005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) Release Date	: Thu Feb 03 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) Current Version	: 2.20.4.5 (scsi module), 2.20.2.5 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) Older Version	: 2.20.4.4 (scsi module), 2.20.2.4 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 1.	Modified name of two attributes in scsi_host_template.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 	On Wed, 2005-02-02 at 10:56 -0500, Ju, Seokmann wrote:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 	> +	.sdev_attrs			= megaraid_device_attrs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 	> +	.shost_attrs			= megaraid_class_device_attrs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 	These are, perhaps, slightly confusing names.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 	The terms device and class_device have well defined meanings in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 	generic device model, neither of which is what you mean here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) 	Why not simply megaraid_sdev_attrs and megaraid_shost_attrs?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 	Other than this, it looks fine to me too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) Release Date	: Thu Jan 27 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) Current Version	: 2.20.4.4 (scsi module), 2.20.2.5 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) Older Version	: 2.20.4.3 (scsi module), 2.20.2.4 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) 1.	Bump up the version of scsi module due to its conflict.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) Release Date	: Thu Jan 21 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) Current Version	: 2.20.4.3 (scsi module), 2.20.2.5 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) Older Version	: 2.20.4.2 (scsi module), 2.20.2.4 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 1.	Remove driver ioctl for logical drive to scsi address translation and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 	replace with the sysfs attribute. To remove drives and change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 	capacity, application shall now use the device attribute to get the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 	logical drive number for a scsi device. For adding newly created
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 	logical drives, class device attribute would be required to uniquely
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) 	identify each controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 		- Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 	"James, I've been thinking about this a little more, and you may be on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 	to something here. Let each driver add files as such:"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) 		- Matt Domsch <Matt_Domsch@dell.com>, 12.15.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) 		 linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) 	"Then, if you simply publish your LD number as an extra parameter of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) 	the device, you can look through /sys to find it."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) 		- James Bottomley <James.Bottomley@SteelEye.com>, 01.03.2005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) 		 linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) 	"I don't see why not ... it's your driver, you can publish whatever
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) 	extra information you need as scsi_device attributes; that was one of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) 	the designs of the extensible attribute system."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 		- James Bottomley <James.Bottomley@SteelEye.com>, 01.06.2005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) 		 linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 2.	Add AMI megaraid support - Brian King <brking@charter.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) 		PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) 		PCI_VENDOR_ID_AMI, PCI_SUBSYS_ID_PERC3_DC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) 3.	Make some code static - Adrian Bunk <bunk@stusta.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) 	Date:	Mon, 15 Nov 2004 03:14:57 +0100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) 	The patch below makes some needlessly global code static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) 	-wait_queue_head_t wait_q;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) 	+static wait_queue_head_t wait_q;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 	Signed-off-by: Adrian Bunk <bunk@stusta.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) 4.	Added NEC ROMB support - NEC MegaRAID PCI Express ROMB controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 		PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_MEGARAID_NEC_ROMB_2E,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) 		PCI_SUBSYS_ID_NEC, PCI_SUBSYS_ID_MEGARAID_NEC_ROMB_2E,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) 5.	Fixed Tape drive issue : For any Direct CDB command to physical device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) 	including tape, timeout value set by driver was 10 minutes. With this 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) 	value, most of command will return within timeout. However, for those
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) 	command like ERASE or FORMAT, it takes more than an hour depends on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) 	capacity of the device and the command could be terminated before it 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) 	completes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) 	To address this issue, the 'timeout' field in the DCDB command will 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) 	have NO TIMEOUT (i.e., 4) value as its timeout on DCDB command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) Release Date	: Thu Dec  9 19:10:23 EST 2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) 	- Sreenivas Bagalkote <sreenib@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) Current Version	: 2.20.4.2 (scsi module), 2.20.2.4 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) Older Version	: 2.20.4.1 (scsi module), 2.20.2.3 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) i.	Introduced driver ioctl that returns scsi address for a given ld.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) 	
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) 	"Why can't the existing sysfs interfaces be used to do this?"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) 		- Brian King (brking@us.ibm.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) 	
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) 	"I've looked into solving this another way, but I cannot see how
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) 	to get this driver-private mapping of logical drive number-> HCTL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) 	without putting code something like this into the driver."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) 	"...and by providing a mapping a function to userspace, the driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) 	is free to change its mapping algorithm in the future if necessary .."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) 		- Matt Domsch (Matt_Domsch@dell.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) Release Date	: Thu Dec  9 19:02:14 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) Current Version	: 2.20.4.1 (scsi module), 2.20.2.3 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) Older Version	: 2.20.4.1 (scsi module), 2.20.2.2 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) i.	Fix a bug in kioc's dma buffer deallocation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) Release Date	: Thu Nov  4 18:24:56 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) Current Version	: 2.20.4.1 (scsi module), 2.20.2.2 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) Older Version	: 2.20.4.0 (scsi module), 2.20.2.1 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) i.	Handle IOCTL cmd timeouts more properly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) ii.	pci_dma_sync_{sg,single}_for_cpu was introduced into megaraid_mbox
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) 	incorrectly (instead of _for_device). Changed to appropriate 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) 	pci_dma_sync_{sg,single}_for_device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) Release Date	: Wed Oct 06 11:15:29 EDT 2004 - Sreenivas Bagalkote <sreenib@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) Current Version	: 2.20.4.0 (scsi module), 2.20.2.1 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) Older Version	: 2.20.4.0 (scsi module), 2.20.2.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) i.	Remove CONFIG_COMPAT around register_ioctl32_conversion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) Release Date	: Mon Sep 27 22:15:07 EDT 2004 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) Current Version	: 2.20.4.0 (scsi module), 2.20.2.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) Older Version	: 2.20.3.1 (scsi module), 2.20.2.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) i.	Fix data corruption. Because of a typo in the driver, the IO packets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) 	were wrongly shared by the ioctl path. This causes a whole IO command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) 	to be replaced by an incoming ioctl command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) Release Date	: Tue Aug 24 09:43:35 EDT 2004 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) Current Version	: 2.20.3.1 (scsi module), 2.20.2.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) Older Version	: 2.20.3.0 (scsi module), 2.20.2.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) i.	Function reordering so that inline functions are defined before they
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) 	are actually used. It is now mandatory for GCC 3.4.1 (current stable)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) 	Declare some heavy-weight functions to be non-inlined,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) 	megaraid_mbox_build_cmd, megaraid_mbox_runpendq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) 	megaraid_mbox_prepare_pthru, megaraid_mbox_prepare_epthru,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) 	megaraid_busywait_mbox
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) 		- Andrew Morton, 08.19.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) 		linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) 	"Something else to clean up after inclusion: every instance of an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) 	inline function is actually rendered as a full function call, because
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) 	the function is always used before it is defined.  Atul, please
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) 	re-arrange the code to eliminate the need for most (all) of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) 	function prototypes at the top of each file, and define (not just
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) 	declare with a prototype) each inline function before its first use"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) 		- Matt Domsch <Matt_Domsch@dell.com>, 07.27.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) 		linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) ii.	Display elapsed time (countdown) while waiting for FW to boot.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) iii.	Module compilation reorder in Makefile so that unresolved symbols do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) 	not occur when driver is compiled non-modular.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) 		Patrick J. LoPresti <patl@users.sourceforge.net>, 8.22.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) 		linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) Release Date	: Thu Aug 19 09:58:33 EDT 2004 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) Current Version	: 2.20.3.0 (scsi module), 2.20.2.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) Older Version	: 2.20.2.0 (scsi module), 2.20.1.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) i.	When copying the mailbox packets, copy only first 14 bytes (for 32-bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) 	mailboxes) and only first 22 bytes (for 64-bit mailboxes). This is to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) 	avoid getting the stale values for busy bit. We want to set the busy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) 	bit just before issuing command to the FW.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) ii.	In the reset handling, if the reseted command is not owned by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) 	driver, do not (wrongly) print information for the "attached" driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) 	packet.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) iii.	Have extended wait when issuing command in synchronous mode. This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) 	required for the cases where the option ROM is disabled and there is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) 	no BIOS to start the controller. The FW starts to boot after receiving
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) 	the first command from the driver. The current driver has 1 second
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) 	timeout for the synchronous commands, which is far less than what is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) 	actually required. We now wait up to MBOX_RESET_TIME (180 seconds) for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) 	FW boot process.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) iv.	In megaraid_mbox_product_info, clear the mailbox contents completely
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) 	before preparing the command for inquiry3. This is to ensure that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) 	FW does not get junk values in the command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) v.	Do away with the redundant LSI_CONFIG_COMPAT redefinition for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) 	CONFIG_COMPAT. Replace <asm/ioctl32.h> with <linux/ioctl32.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) 		- James Bottomley <James.Bottomley@SteelEye.com>, 08.17.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) 		 linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) vi.	Add support for 64-bit applications. Current drivers assume only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) 	32-bit applications, even on 64-bit platforms. Use the "data" and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) 	"buffer" fields of the mimd_t structure, instead of embedded 32-bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) 	addresses in application mailbox and passthru structures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) vii.	Move the function declarations for the management module from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) 	megaraid_mm.h to megaraid_mm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) 		- Andrew Morton, 08.19.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) 		linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) viii.	Change default values for MEGARAID_NEWGEN, MEGARAID_MM, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) 	MEGARAID_MAILBOX to 'n' in Kconfig.megaraid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) 		- Andrew Morton, 08.19.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) 		linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) ix.	replace udelay with msleep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) x.	Typos corrected in comments and whitespace adjustments, explicit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) 	grouping of expressions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) Release Date	: Fri Jul 23 15:22:07 EDT 2004 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) Current Version	: 2.20.2.0 (scsi module), 2.20.1.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) Older Version	: 2.20.1.0 (scsi module), 2.20.0.0 (cmm module)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) i.	Add PCI ids for Acer ROMB 2E solution
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) ii.	Add PCI ids for I4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) iii.	Typo corrected for subsys id for megaraid sata 300-4x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) iv.	Remove yield() while mailbox handshake in synchronous commands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) 	"My other main gripe is things like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) 	+	// wait for maximum 1 second for status to post
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) 	+	for (i = 0; i < 40000; i++) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) 	+		if (mbox->numstatus != 0xFF) break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) 	+		udelay(25); yield();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) 	+	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) 	which litter the driver.  Use of yield() in drivers is deprecated."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) 		- James Bottomley <James.Bottomley@SteelEye.com>, 07.14.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) 		 linux-scsi mailing list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) v.	Remove redundant __megaraid_busywait_mbox routine
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) vi.	Fix bug in the management module, which causes a system lockup when the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) 	IO module is loaded and then unloaded, followed by executing any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) 	management utility. The current version of management module does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) 	handle the adapter unregister properly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) 	Specifically, it still keeps a reference to the unregistered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) 	controllers. To avoid this, the static array adapters has been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) 	replaced by a dynamic list, which gets updated every time an adapter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) 	is added or removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) 	Also, during unregistration of the IO module, the resources are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) 	now released in the exact reverse order of the allocation time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) 	sequence.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) Release Date	: Fri Jun 25 18:58:43 EDT 2004 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) Current Version	: 2.20.1.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) Older Version	: megaraid 2.20.0.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) i.	Stale list pointer in adapter causes kernel panic when module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) 	megaraid_mbox is unloaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) Release Date	: Thu Jun 24 20:37:11 EDT 2004 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) Current Version	: 2.20.0.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) Older Version	: megaraid 2.20.0.00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) i.	Modules are not 'y' by default, but depend on current definition of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) 	SCSI & PCI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) ii.	Redundant structure mraid_driver_t removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) iii.	Miscellaneous indentation and goto/label fixes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) 		- Christoph Hellwig <hch@infradead.org>, 06.24.2004 linux-scsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) iv.	scsi_host_put(), do just before completing HBA shutdown.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) Release Date	: Mon Jun 21 19:53:54 EDT 2004 - Atul Mukker <atulm@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) Current Version	: 2.20.0.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) Older Version	: megaraid 2.20.0.rc2 and 2.00.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) i.	Independent module to interact with userland applications and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) 	multiplex command to low level RAID module(s).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) 	"Shared code in a third module, a "library module", is an acceptable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) 	solution. modprobe automatically loads dependent modules, so users
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) 	running "modprobe driver1" or "modprobe driver2" would automatically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) 	load the shared library module."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) 		- Jeff Garzik <jgarzik@pobox.com> 02.25.2004 LKML
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) 	"As Jeff hinted, if your userspace<->driver API is consistent between
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) 	your new MPT-based RAID controllers and your existing megaraid driver,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) 	then perhaps you need a single small helper module (lsiioctl or some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) 	better name), loaded by both mptraid and megaraid automatically, which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) 	handles registering the /dev/megaraid node dynamically. In this case,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) 	both mptraid and megaraid would register with lsiioctl for each
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) 	adapter discovered, and lsiioctl would essentially be a switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) 	redirecting userspace tool ioctls to the appropriate driver."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) 		- Matt Domsch <Matt_Domsch@dell.com> 02.25.2004 LKML
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) ii.	Remove C99 initializations from pci_device id.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) 	"pci_id_table_g would be much more readable when not using C99
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) 	initializers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) 	PCI table doesn't change, there's lots of users that prefer the more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) 	readable variant.  And it's really far less and much easier to grok
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) 	lines without C99 initializers."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) 		- Christoph Hellwig <hch@infradead.org>, 05.28.2004 linux-scsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) iii.	Many fixes as suggested by Christoph Hellwig <hch@infradead.org> on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) 	linux-scsi, 05.28.2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) iv.	We now support up to 32 parallel ioctl commands instead of current 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) 	There is a conscious effort to let memory allocation not fail for ioctl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) 	commands.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) v.	Do away with internal memory management. Use pci_pool_(create|alloc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) 	instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) vi.	Kill tasklet when unloading the driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) vii.	Do not use "host_lock', driver has fine-grain locks now to protect all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) 	data structures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) viii.	Optimize the build scatter-gather list routine. The callers already
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) 	know the data transfer address and length.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) ix.	Better implementation of error handling and recovery. Driver now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) 	performs extended errors recovery for instances like scsi cable pull.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) x.	Disassociate the management commands with an overlaid scsi command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) 	Driver now treats the management packets as special packets and has a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) 	dedicated callback routine.