~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/scsi/ChangeLog.megaraid

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/scsi/ChangeLog.megaraid (Version linux-6.12-rc7) and /Documentation/scsi/ChangeLog.megaraid (Version linux-6.3.13)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php