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