Ju, Seokmann | c005fb4 | 2006-04-27 02:33:06 -0700 | [diff] [blame^] | 1 | Release Date : Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju <sju@lsil.com> |
| 2 | Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module) |
| 3 | Older Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module) |
| 4 | |
| 5 | 1. Fixed a bug in megaraid_reset_handler(). |
| 6 | Customer reported "Unable to handle kernel NULL pointer dereference |
| 7 | at virtual address 00000000" when system goes to reset condition |
| 8 | for some reason. It happened randomly. |
| 9 | Root Cause: in the megaraid_reset_handler(), there is possibility not |
| 10 | returning pending packets in the pend_list if there are multiple |
| 11 | pending packets. |
| 12 | Fix: Made the change in the driver so that it will return all packets |
| 13 | in the pend_list. |
| 14 | |
| 15 | 2. Added change request. |
| 16 | As found in the following URL, rmb() only didn't help the |
| 17 | problem. I had to increase the loop counter to 0xFFFFFF. (6 F's) |
| 18 | http://marc.theaimsgroup.com/?l=linux-scsi&m=110971060502497&w=2 |
| 19 | |
| 20 | I attached a patch for your reference, too. |
| 21 | Could you check and get this fix in your driver? |
| 22 | |
| 23 | Best Regards, |
| 24 | Jun'ichi Nomura |
| 25 | |
Ju, Seokmann | ed7e8ef | 2005-11-17 13:17:25 -0500 | [diff] [blame] | 26 | Release Date : Fri Nov 11 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> |
| 27 | Current Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module) |
| 28 | Older Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module) |
| 29 | |
| 30 | 1. Sorted out PCI IDs to remove megaraid support overlaps. |
| 31 | Based on the patch from Daniel, sorted out PCI IDs along with |
| 32 | charactor node name change from 'megadev' to 'megadev_legacy' to avoid |
| 33 | conflict. |
| 34 | --- |
| 35 | Hopefully we'll be getting the build restriction zapped much sooner, |
| 36 | but we should also be thinking about totally removing the hardware |
| 37 | support overlap in the megaraid drivers. |
| 38 | |
| 39 | This patch pencils in a date of Feb 06 for this, and performs some |
| 40 | printk abuse in hope that existing legacy users might pick up on what's |
| 41 | going on. |
| 42 | |
| 43 | Signed-off-by: Daniel Drake <dsd@gentoo.org> |
| 44 | --- |
| 45 | |
| 46 | 2. Fixed a issue: megaraid always fails to reset handler. |
| 47 | --- |
| 48 | I found that the megaraid driver always fails to reset the |
| 49 | adapter with the following message: |
| 50 | megaraid: resetting the host... |
| 51 | megaraid mbox: reset sequence completed successfully |
| 52 | megaraid: fast sync command timed out |
| 53 | megaraid: reservation reset failed |
| 54 | when the "Cluster mode" of the adapter BIOS is enabled. |
| 55 | So, whenever the reset occurs, the adapter goes to |
| 56 | offline and just become unavailable. |
| 57 | |
| 58 | Jun'ichi Nomura [mailto:jnomura@mtc.biglobe.ne.jp] |
| 59 | --- |
| 60 | |
Ju, Seokmann | 672b2d3 | 2005-05-16 18:32:17 -0400 | [diff] [blame] | 61 | Release Date : Mon Mar 07 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> |
| 62 | Current Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module) |
| 63 | Older Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module) |
| 64 | |
| 65 | 1. Added IOCTL backward compatibility. |
| 66 | Convert megaraid_mm driver to new compat_ioctl entry points. |
| 67 | I don't have easy access to hardware, so only compile tested. |
| 68 | - Signed-off-by:Andi Kleen <ak@muc.de> |
| 69 | |
| 70 | 2. megaraid_mbox fix: wrong order of arguments in memset() |
| 71 | That, BTW, shows why cross-builds are useful-the only indication of |
| 72 | problem had been a new warning showing up in sparse output on alpha |
| 73 | build (number of exceeding 256 got truncated). |
| 74 | - Signed-off-by: Al Viro |
| 75 | <viro@parcelfarce.linux.theplanet.co.uk> |
| 76 | |
| 77 | 3. Convert pci_module_init to pci_register_driver |
| 78 | Convert from pci_module_init to pci_register_driver |
| 79 | (from:http://kerneljanitors.org/TODO) |
| 80 | - Signed-off-by: Domen Puncer <domen@coderock.org> |
| 81 | |
| 82 | 4. Use the pre defined DMA mask constants from dma-mapping.h |
| 83 | Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling |
| 84 | pci_set_dma_mask() or pci_set_consistend_dma_mask(). See |
| 85 | http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for more |
| 86 | details. |
| 87 | Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> |
| 88 | Signed-off-by: Domen Puncer <domen@coderock.org> |
| 89 | |
| 90 | 5. Remove SSID checking for Dobson, Lindsay, and Verde based products. |
| 91 | Checking the SSVID/SSID for controllers which have Dobson, Lindsay, |
| 92 | and Verde is unnecessary because device ID has been assigned by LSI |
| 93 | and it is unique value. So, all controllers with these IOPs have to be |
| 94 | supported by the driver regardless SSVID/SSID. |
| 95 | |
| 96 | 6. Date Thu, 27 Jan 2005 04:31:09 +0100 |
| 97 | From Herbert Poetzl <> |
| 98 | Subject RFC: assert_spin_locked() for 2.6 |
| 99 | |
| 100 | Greetings! |
| 101 | |
| 102 | overcautious programming will kill your kernel ;) |
| 103 | ever thought about checking a spin_lock or even |
| 104 | asserting that it must be held (maybe just for |
| 105 | spinlock debugging?) ... |
| 106 | |
| 107 | there are several checks present in the kernel |
| 108 | where somebody does a variation on the following: |
| 109 | |
| 110 | BUG_ON(!spin_is_locked(&some_lock)); |
| 111 | |
| 112 | so what's wrong about that? nothing, unless you |
| 113 | compile the code with CONFIG_DEBUG_SPINLOCK but |
| 114 | without CONFIG_SMP ... in which case the BUG() |
| 115 | will kill your kernel ... |
| 116 | |
| 117 | maybe it's not advised to make such assertions, |
| 118 | but here is a solution which works for me ... |
| 119 | (compile tested for sh, x86_64 and x86, boot/run |
| 120 | tested for x86 only) |
| 121 | |
| 122 | best, |
| 123 | Herbert |
| 124 | |
| 125 | - Herbert Poetzl <herbert@13thfloor.at>, Thu, 27 Jan 2005 |
| 126 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 127 | Release Date : Thu Feb 03 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> |
| 128 | Current Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module) |
| 129 | Older Version : 2.20.4.4 (scsi module), 2.20.2.4 (cmm module) |
| 130 | |
| 131 | 1. Modified name of two attributes in scsi_host_template. |
| 132 | On Wed, 2005-02-02 at 10:56 -0500, Ju, Seokmann wrote: |
| 133 | > + .sdev_attrs = megaraid_device_attrs, |
| 134 | > + .shost_attrs = megaraid_class_device_attrs, |
| 135 | |
| 136 | These are, perhaps, slightly confusing names. |
| 137 | The terms device and class_device have well defined meanings in the |
| 138 | generic device model, neither of which is what you mean here. |
| 139 | Why not simply megaraid_sdev_attrs and megaraid_shost_attrs? |
| 140 | |
| 141 | Other than this, it looks fine to me too. |
| 142 | |
| 143 | Release Date : Thu Jan 27 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com> |
| 144 | Current Version : 2.20.4.4 (scsi module), 2.20.2.5 (cmm module) |
| 145 | Older Version : 2.20.4.3 (scsi module), 2.20.2.4 (cmm module) |
| 146 | |
| 147 | 1. Bump up the version of scsi module due to its conflict. |
| 148 | |
| 149 | Release Date : Thu Jan 21 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com> |
| 150 | Current Version : 2.20.4.3 (scsi module), 2.20.2.5 (cmm module) |
| 151 | Older Version : 2.20.4.2 (scsi module), 2.20.2.4 (cmm module) |
| 152 | |
| 153 | 1. Remove driver ioctl for logical drive to scsi address translation and |
| 154 | replace with the sysfs attribute. To remove drives and change |
| 155 | capacity, application shall now use the device attribute to get the |
| 156 | logical drive number for a scsi device. For adding newly created |
| 157 | logical drives, class device attribute would be required to uniquely |
| 158 | identify each controller. |
| 159 | - Atul Mukker <atulm@lsil.com> |
| 160 | |
| 161 | "James, I've been thinking about this a little more, and you may be on |
| 162 | to something here. Let each driver add files as such:" |
| 163 | |
| 164 | - Matt Domsch <Matt_Domsch@dell.com>, 12.15.2004 |
| 165 | linux-scsi mailing list |
| 166 | |
| 167 | |
| 168 | "Then, if you simply publish your LD number as an extra parameter of |
| 169 | the device, you can look through /sys to find it." |
| 170 | |
| 171 | - James Bottomley <James.Bottomley@SteelEye.com>, 01.03.2005 |
| 172 | linux-scsi mailing list |
| 173 | |
| 174 | |
| 175 | "I don't see why not ... it's your driver, you can publish whatever |
| 176 | extra information you need as scsi_device attributes; that was one of |
| 177 | the designs of the extensible attribute system." |
| 178 | |
| 179 | - James Bottomley <James.Bottomley@SteelEye.com>, 01.06.2005 |
| 180 | linux-scsi mailing list |
| 181 | |
| 182 | 2. Add AMI megaraid support - Brian King <brking@charter.net> |
| 183 | PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3, |
| 184 | PCI_VENDOR_ID_AMI, PCI_SUBSYS_ID_PERC3_DC, |
| 185 | |
| 186 | 3. Make some code static - Adrian Bunk <bunk@stusta.de> |
| 187 | Date: Mon, 15 Nov 2004 03:14:57 +0100 |
| 188 | |
| 189 | The patch below makes some needlessly global code static. |
| 190 | -wait_queue_head_t wait_q; |
| 191 | +static wait_queue_head_t wait_q; |
| 192 | |
| 193 | Signed-off-by: Adrian Bunk <bunk@stusta.de> |
| 194 | |
| 195 | 4. Added NEC ROMB support - NEC MegaRAID PCI Express ROMB controller |
| 196 | PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_MEGARAID_NEC_ROMB_2E, |
| 197 | PCI_SUBSYS_ID_NEC, PCI_SUBSYS_ID_MEGARAID_NEC_ROMB_2E, |
| 198 | |
| 199 | 5. Fixed Tape drive issue : For any Direct CDB command to physical device |
| 200 | including tape, timeout value set by driver was 10 minutes. With this |
| 201 | value, most of command will return within timeout. However, for those |
| 202 | command like ERASE or FORMAT, it takes more than an hour depends on |
| 203 | capacity of the device and the command could be terminated before it |
| 204 | completes. |
| 205 | To address this issue, the 'timeout' field in the DCDB command will |
| 206 | have NO TIMEOUT (i.e., 4) value as its timeout on DCDB command. |
| 207 | |
| 208 | |
| 209 | |
| 210 | Release Date : Thu Dec 9 19:10:23 EST 2004 |
| 211 | - Sreenivas Bagalkote <sreenib@lsil.com> |
| 212 | |
| 213 | Current Version : 2.20.4.2 (scsi module), 2.20.2.4 (cmm module) |
| 214 | Older Version : 2.20.4.1 (scsi module), 2.20.2.3 (cmm module) |
| 215 | |
| 216 | i. Introduced driver ioctl that returns scsi address for a given ld. |
| 217 | |
| 218 | "Why can't the existing sysfs interfaces be used to do this?" |
| 219 | - Brian King (brking@us.ibm.com) |
| 220 | |
| 221 | "I've looked into solving this another way, but I cannot see how |
| 222 | to get this driver-private mapping of logical drive number-> HCTL |
| 223 | without putting code something like this into the driver." |
| 224 | |
| 225 | "...and by providing a mapping a function to userspace, the driver |
| 226 | is free to change its mapping algorithm in the future if necessary .." |
| 227 | - Matt Domsch (Matt_Domsch@dell.com) |
| 228 | |
| 229 | Release Date : Thu Dec 9 19:02:14 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com> |
| 230 | |
| 231 | Current Version : 2.20.4.1 (scsi module), 2.20.2.3 (cmm module) |
| 232 | Older Version : 2.20.4.1 (scsi module), 2.20.2.2 (cmm module) |
| 233 | |
| 234 | i. Fix a bug in kioc's dma buffer deallocation |
| 235 | |
| 236 | Release Date : Thu Nov 4 18:24:56 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com> |
| 237 | |
| 238 | Current Version : 2.20.4.1 (scsi module), 2.20.2.2 (cmm module) |
| 239 | Older Version : 2.20.4.0 (scsi module), 2.20.2.1 (cmm module) |
| 240 | |
| 241 | i. Handle IOCTL cmd timeouts more properly. |
| 242 | |
| 243 | ii. pci_dma_sync_{sg,single}_for_cpu was introduced into megaraid_mbox |
| 244 | incorrectly (instead of _for_device). Changed to appropriate |
| 245 | pci_dma_sync_{sg,single}_for_device. |
| 246 | |
| 247 | Release Date : Wed Oct 06 11:15:29 EDT 2004 - Sreenivas Bagalkote <sreenib@lsil.com> |
| 248 | Current Version : 2.20.4.0 (scsi module), 2.20.2.1 (cmm module) |
| 249 | Older Version : 2.20.4.0 (scsi module), 2.20.2.0 (cmm module) |
| 250 | |
| 251 | i. Remove CONFIG_COMPAT around register_ioctl32_conversion |
| 252 | |
| 253 | Release Date : Mon Sep 27 22:15:07 EDT 2004 - Atul Mukker <atulm@lsil.com> |
| 254 | Current Version : 2.20.4.0 (scsi module), 2.20.2.0 (cmm module) |
| 255 | Older Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module) |
| 256 | |
| 257 | i. Fix data corruption. Because of a typo in the driver, the IO packets |
| 258 | were wrongly shared by the ioctl path. This causes a whole IO command |
| 259 | to be replaced by an incoming ioctl command. |
| 260 | |
| 261 | Release Date : Tue Aug 24 09:43:35 EDT 2004 - Atul Mukker <atulm@lsil.com> |
| 262 | Current Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module) |
| 263 | Older Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module) |
| 264 | |
| 265 | i. Function reordering so that inline functions are defined before they |
| 266 | are actually used. It is now mandatory for GCC 3.4.1 (current stable) |
| 267 | |
| 268 | Declare some heavy-weight functions to be non-inlined, |
| 269 | megaraid_mbox_build_cmd, megaraid_mbox_runpendq, |
| 270 | megaraid_mbox_prepare_pthru, megaraid_mbox_prepare_epthru, |
| 271 | megaraid_busywait_mbox |
| 272 | |
| 273 | - Andrew Morton <akpm@osdl.org>, 08.19.2004 |
| 274 | linux-scsi mailing list |
| 275 | |
| 276 | "Something else to clean up after inclusion: every instance of an |
| 277 | inline function is actually rendered as a full function call, because |
| 278 | the function is always used before it is defined. Atul, please |
| 279 | re-arrange the code to eliminate the need for most (all) of the |
| 280 | function prototypes at the top of each file, and define (not just |
| 281 | declare with a prototype) each inline function before its first use" |
| 282 | |
| 283 | - Matt Domsch <Matt_Domsch@dell.com>, 07.27.2004 |
| 284 | linux-scsi mailing list |
| 285 | |
| 286 | |
| 287 | ii. Display elapsed time (countdown) while waiting for FW to boot. |
| 288 | |
| 289 | iii. Module compilation reorder in Makefile so that unresolved symbols do |
| 290 | not occur when driver is compiled non-modular. |
| 291 | |
| 292 | Patrick J. LoPresti <patl@users.sourceforge.net>, 8.22.2004 |
| 293 | linux-scsi mailing list |
| 294 | |
| 295 | |
| 296 | Release Date : Thu Aug 19 09:58:33 EDT 2004 - Atul Mukker <atulm@lsil.com> |
| 297 | Current Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module) |
| 298 | Older Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module) |
| 299 | |
| 300 | i. When copying the mailbox packets, copy only first 14 bytes (for 32-bit |
| 301 | mailboxes) and only first 22 bytes (for 64-bit mailboxes). This is to |
| 302 | avoid getting the stale values for busy bit. We want to set the busy |
| 303 | bit just before issuing command to the FW. |
| 304 | |
| 305 | ii. In the reset handling, if the reseted command is not owned by the |
| 306 | driver, do not (wrongly) print information for the "attached" driver |
| 307 | packet. |
| 308 | |
| 309 | iii. Have extended wait when issuing command in synchronous mode. This is |
| 310 | required for the cases where the option ROM is disabled and there is |
| 311 | no BIOS to start the controller. The FW starts to boot after receiving |
| 312 | the first command from the driver. The current driver has 1 second |
| 313 | timeout for the synchronous commands, which is far less than what is |
| 314 | actually required. We now wait up to MBOX_RESET_TIME (180 seconds) for |
| 315 | FW boot process. |
| 316 | |
| 317 | iv. In megaraid_mbox_product_info, clear the mailbox contents completely |
| 318 | before preparing the command for inquiry3. This is to ensure that the |
| 319 | FW does not get junk values in the command. |
| 320 | |
| 321 | v. Do away with the redundant LSI_CONFIG_COMPAT redefinition for |
| 322 | CONFIG_COMPAT. Replace <asm/ioctl32.h> with <linux/ioctl32.h> |
| 323 | |
| 324 | - James Bottomley <James.Bottomley@SteelEye.com>, 08.17.2004 |
| 325 | linux-scsi mailing list |
| 326 | |
| 327 | vi. Add support for 64-bit applications. Current drivers assume only |
| 328 | 32-bit applications, even on 64-bit platforms. Use the "data" and |
| 329 | "buffer" fields of the mimd_t structure, instead of embedded 32-bit |
| 330 | addresses in application mailbox and passthru structures. |
| 331 | |
| 332 | vii. Move the function declarations for the management module from |
| 333 | megaraid_mm.h to megaraid_mm.c |
| 334 | |
| 335 | - Andrew Morton <akpm@osdl.org>, 08.19.2004 |
| 336 | linux-scsi mailing list |
| 337 | |
| 338 | viii. Change default values for MEGARAID_NEWGEN, MEGARAID_MM, and |
| 339 | MEGARAID_MAILBOX to 'n' in Kconfig.megaraid |
| 340 | |
| 341 | - Andrew Morton <akpm@osdl.org>, 08.19.2004 |
| 342 | linux-scsi mailing list |
| 343 | |
| 344 | ix. replace udelay with msleep |
| 345 | |
| 346 | x. Typos corrected in comments and whitespace adjustments, explicit |
| 347 | grouping of expressions. |
| 348 | |
| 349 | |
| 350 | Release Date : Fri Jul 23 15:22:07 EDT 2004 - Atul Mukker <atulm@lsil.com> |
| 351 | Current Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module) |
| 352 | Older Version : 2.20.1.0 (scsi module), 2.20.0.0 (cmm module) |
| 353 | |
| 354 | i. Add PCI ids for Acer ROMB 2E solution |
| 355 | |
| 356 | ii. Add PCI ids for I4 |
| 357 | |
| 358 | iii. Typo corrected for subsys id for megaraid sata 300-4x |
| 359 | |
| 360 | iv. Remove yield() while mailbox handshake in synchronous commands |
| 361 | |
| 362 | |
| 363 | "My other main gripe is things like this: |
| 364 | |
| 365 | + // wait for maximum 1 second for status to post |
| 366 | + for (i = 0; i < 40000; i++) { |
| 367 | + if (mbox->numstatus != 0xFF) break; |
| 368 | + udelay(25); yield(); |
| 369 | + } |
| 370 | |
| 371 | which litter the driver. Use of yield() in drivers is deprecated." |
| 372 | |
| 373 | - James Bottomley <James.Bottomley@SteelEye.com>, 07.14.2004 |
| 374 | linux-scsi mailing list |
| 375 | |
| 376 | v. Remove redundant __megaraid_busywait_mbox routine |
| 377 | |
| 378 | vi. Fix bug in the managment module, which causes a system lockup when the |
| 379 | IO module is loaded and then unloaded, followed by executing any |
| 380 | management utility. The current version of management module does not |
| 381 | handle the adapter unregister properly. |
| 382 | |
| 383 | Specifically, it still keeps a reference to the unregistered |
| 384 | controllers. To avoid this, the static array adapters has been |
| 385 | replaced by a dynamic list, which gets updated every time an adapter |
| 386 | is added or removed. |
| 387 | |
| 388 | Also, during unregistration of the IO module, the resources are |
| 389 | now released in the exact reverse order of the allocation time |
| 390 | sequence. |
| 391 | |
| 392 | |
| 393 | Release Date : Fri Jun 25 18:58:43 EDT 2004 - Atul Mukker <atulm@lsil.com> |
| 394 | Current Version : 2.20.1.0 |
| 395 | Older Version : megaraid 2.20.0.1 |
| 396 | |
| 397 | i. Stale list pointer in adapter causes kernel panic when module |
| 398 | megaraid_mbox is unloaded |
| 399 | |
| 400 | |
| 401 | Release Date : Thu Jun 24 20:37:11 EDT 2004 - Atul Mukker <atulm@lsil.com> |
| 402 | Current Version : 2.20.0.1 |
| 403 | Older Version : megaraid 2.20.0.00 |
| 404 | |
| 405 | i. Modules are not 'y' by default, but depend on current definition of |
| 406 | SCSI & PCI. |
| 407 | |
| 408 | ii. Redundant structure mraid_driver_t removed. |
| 409 | |
| 410 | iii. Miscellaneous indentation and goto/label fixes. |
| 411 | - Christoph Hellwig <hch@infradead.org>, 06.24.2004 linux-scsi |
| 412 | |
| 413 | iv. scsi_host_put(), do just before completing HBA shutdown. |
| 414 | |
| 415 | |
| 416 | |
| 417 | Release Date : Mon Jun 21 19:53:54 EDT 2004 - Atul Mukker <atulm@lsil.com> |
| 418 | Current Version : 2.20.0.0 |
| 419 | Older Version : megaraid 2.20.0.rc2 and 2.00.3 |
| 420 | |
| 421 | i. Independent module to interact with userland applications and |
| 422 | multiplex command to low level RAID module(s). |
| 423 | |
| 424 | "Shared code in a third module, a "library module", is an acceptable |
| 425 | solution. modprobe automatically loads dependent modules, so users |
| 426 | running "modprobe driver1" or "modprobe driver2" would automatically |
| 427 | load the shared library module." |
| 428 | |
| 429 | - Jeff Garzik <jgarzik@pobox.com> 02.25.2004 LKML |
| 430 | |
| 431 | "As Jeff hinted, if your userspace<->driver API is consistent between |
| 432 | your new MPT-based RAID controllers and your existing megaraid driver, |
| 433 | then perhaps you need a single small helper module (lsiioctl or some |
| 434 | better name), loaded by both mptraid and megaraid automatically, which |
| 435 | handles registering the /dev/megaraid node dynamically. In this case, |
| 436 | both mptraid and megaraid would register with lsiioctl for each |
| 437 | adapter discovered, and lsiioctl would essentially be a switch, |
| 438 | redirecting userspace tool ioctls to the appropriate driver." |
| 439 | |
| 440 | - Matt Domsch <Matt_Domsch@dell.com> 02.25.2004 LKML |
| 441 | |
| 442 | ii. Remove C99 initializations from pci_device id. |
| 443 | |
| 444 | "pci_id_table_g would be much more readable when not using C99 |
| 445 | initializers. |
| 446 | PCI table doesn't change, there's lots of users that prefer the more |
| 447 | readable variant. And it's really far less and much easier to grok |
| 448 | lines without C99 initializers." |
| 449 | |
| 450 | - Christoph Hellwig <hch@infradead.org>, 05.28.2004 linux-scsi |
| 451 | |
| 452 | iii. Many fixes as suggested by Christoph Hellwig <hch@infradead.org> on |
| 453 | linux-scsi, 05.28.2004 |
| 454 | |
| 455 | iv. We now support up to 32 parallel ioctl commands instead of current 1. |
| 456 | There is a conscious effort to let memory allocation not fail for ioctl |
| 457 | commands. |
| 458 | |
| 459 | v. Do away with internal memory management. Use pci_pool_(create|alloc) |
| 460 | instead. |
| 461 | |
| 462 | vi. Kill tasklet when unloading the driver. |
| 463 | |
| 464 | vii. Do not use "host_lock', driver has fine-grain locks now to protect all |
| 465 | data structures. |
| 466 | |
| 467 | viii. Optimize the build scatter-gather list routine. The callers already |
| 468 | know the data transfer address and length. |
| 469 | |
| 470 | ix. Better implementation of error handling and recovery. Driver now |
| 471 | performs extended errors recovery for instances like scsi cable pull. |
| 472 | |
| 473 | x. Disassociate the management commands with an overlaid scsi command. |
| 474 | Driver now treats the management packets as special packets and has a |
| 475 | dedicated callback routine. |