123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615 |
- Release Date : Thu Nov 16 15:32:35 EST 2006 -
- Sumant Patro <sumant.patro@lsi.com>
- Current Version : 2.20.5.1 (scsi module), 2.20.2.6 (cmm module)
- Older Version : 2.20.4.9 (scsi module), 2.20.2.6 (cmm module)
- 1. Changes in Initialization to fix kdump failure.
- Send SYNC command on loading.
- This command clears the pending commands in the adapter
- and re-initialize its internal RAID structure.
- Without this change, megaraid driver either panics or fails to
- initialize the adapter during kdump's second kernel boot
- if there are pending commands or interrupts from other devices
- sharing the same IRQ.
- 2. Authors email-id domain name changed from lsil.com to lsi.com.
- Also modified the MODULE_AUTHOR to megaraidlinux@lsi.com
- Release Date : Fri May 19 09:31:45 EST 2006 - Seokmann Ju <sju@lsil.com>
- Current Version : 2.20.4.9 (scsi module), 2.20.2.6 (cmm module)
- Older Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
- 1. Fixed a bug in megaraid_init_mbox().
- Customer reported "garbage in file on x86_64 platform".
- Root Cause: the driver registered controllers as 64-bit DMA capable
- for those which are not support it.
- Fix: Made change in the function inserting identification machanism
- identifying 64-bit DMA capable controllers.
- > -----Original Message-----
- > From: Vasily Averin [mailto:vvs@sw.ru]
- > Sent: Thursday, May 04, 2006 2:49 PM
- > To: linux-scsi@vger.kernel.org; Kolli, Neela; Mukker, Atul;
- > Ju, Seokmann; Bagalkote, Sreenivas;
- > James.Bottomley@SteelEye.com; devel@openvz.org
- > Subject: megaraid_mbox: garbage in file
- >
- > Hello all,
- >
- > I've investigated customers claim on the unstable work of
- > their node and found a
- > strange effect: reading from some files leads to the
- > "attempt to access beyond end of device" messages.
- >
- > I've checked filesystem, memory on the node, motherboard BIOS
- > version, but it
- > does not help and issue still has been reproduced by simple
- > file reading.
- >
- > Reproducer is simple:
- >
- > echo 0xffffffff >/proc/sys/dev/scsi/logging_level ;
- > cat /vz/private/101/root/etc/ld.so.cache >/tmp/ttt ;
- > echo 0 >/proc/sys/dev/scsi/logging
- >
- > It leads to the following messages in dmesg
- >
- > sd_init_command: disk=sda, block=871769260, count=26
- > sda : block=871769260
- > sda : reading 26/26 512 byte blocks.
- > scsi_add_timer: scmd: f79ed980, time: 7500, (c02b1420)
- > sd 0:1:0:0: send 0xf79ed980 sd 0:1:0:0:
- > command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
- > buffer = 0xf7cfb540, bufflen = 13312, done = 0xc0366b40,
- > queuecommand 0xc0344010
- > leaving scsi_dispatch_cmnd()
- > scsi_delete_timer: scmd: f79ed980, rtn: 1
- > sd 0:1:0:0: done 0xf79ed980 SUCCESS 0 sd 0:1:0:0:
- > command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
- > scsi host busy 1 failed 0
- > sd 0:1:0:0: Notifying upper driver of completion (result 0)
- > sd_rw_intr: sda: res=0x0
- > 26 sectors total, 13312 bytes done.
- > use_sg is 4
- > attempt to access beyond end of device
- > sda6: rw=0, want=1044134458, limit=951401367
- > Buffer I/O error on device sda6, logical block 522067228
- > attempt to access beyond end of device
- 2. When INQUIRY with EVPD bit set issued to the MegaRAID controller,
- system memory gets corrupted.
- Root Cause: MegaRAID F/W handle the INQUIRY with EVPD bit set
- incorrectly.
- Fix: MegaRAID F/W has fixed the problem and being process of release,
- soon. Meanwhile, driver will filter out the request.
- 3. One of member in the data structure of the driver leads unaligne
- issue on 64-bit platform.
- Customer reporeted "kernel unaligned access addrss" issue when
- application communicates with MegaRAID HBA driver.
- Root Cause: in uioc_t structure, one of member had misaligned and it
- led system to display the error message.
- Fix: A patch submitted to community from following folk.
- > -----Original Message-----
- > From: linux-scsi-owner@vger.kernel.org
- > [mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of Sakurai Hiroomi
- > Sent: Wednesday, July 12, 2006 4:20 AM
- > To: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org
- > Subject: Re: Help: strange messages from kernel on IA64 platform
- >
- > Hi,
- >
- > I saw same message.
- >
- > When GAM(Global Array Manager) is started, The following
- > message output.
- > kernel: kernel unaligned access to 0xe0000001fe1080d4,
- > ip=0xa000000200053371
- >
- > The uioc structure used by ioctl is defined by packed,
- > the allignment of each member are disturbed.
- > In a 64 bit structure, the allignment of member doesn't fit 64 bit
- > boundary. this causes this messages.
- > In a 32 bit structure, we don't see the message because the allinment
- > of member fit 32 bit boundary even if packed is specified.
- >
- > patch
- > I Add 32 bit dummy member to fit 64 bit boundary. I tested.
- > We confirmed this patch fix the problem by IA64 server.
- >
- > **************************************************************
- > ****************
- > --- linux-2.6.9/drivers/scsi/megaraid/megaraid_ioctl.h.orig
- > 2006-04-03 17:13:03.000000000 +0900
- > +++ linux-2.6.9/drivers/scsi/megaraid/megaraid_ioctl.h
- > 2006-04-03 17:14:09.000000000 +0900
- > @@ -132,6 +132,10 @@
- > /* Driver Data: */
- > void __user * user_data;
- > uint32_t user_data_len;
- > +
- > + /* 64bit alignment */
- > + uint32_t pad_0xBC;
- > +
- > mraid_passthru_t __user *user_pthru;
- >
- > mraid_passthru_t *pthru32;
- > **************************************************************
- > ****************
- Release Date : Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju <sju@lsil.com>
- Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
- Older Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
- 1. Fixed a bug in megaraid_reset_handler().
- Customer reported "Unable to handle kernel NULL pointer dereference
- at virtual address 00000000" when system goes to reset condition
- for some reason. It happened randomly.
- Root Cause: in the megaraid_reset_handler(), there is possibility not
- returning pending packets in the pend_list if there are multiple
- pending packets.
- Fix: Made the change in the driver so that it will return all packets
- in the pend_list.
- 2. Added change request.
- As found in the following URL, rmb() only didn't help the
- problem. I had to increase the loop counter to 0xFFFFFF. (6 F's)
- http://marc.theaimsgroup.com/?l=linux-scsi&m=110971060502497&w=2
- I attached a patch for your reference, too.
- Could you check and get this fix in your driver?
- Best Regards,
- Jun'ichi Nomura
- Release Date : Fri Nov 11 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com>
- Current Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
- Older Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module)
- 1. Sorted out PCI IDs to remove megaraid support overlaps.
- Based on the patch from Daniel, sorted out PCI IDs along with
- character node name change from 'megadev' to 'megadev_legacy' to avoid
- conflict.
- ---
- Hopefully we'll be getting the build restriction zapped much sooner,
- but we should also be thinking about totally removing the hardware
- support overlap in the megaraid drivers.
- This patch pencils in a date of Feb 06 for this, and performs some
- printk abuse in hope that existing legacy users might pick up on what's
- going on.
- Signed-off-by: Daniel Drake <dsd@gentoo.org>
- ---
- 2. Fixed a issue: megaraid always fails to reset handler.
- ---
- I found that the megaraid driver always fails to reset the
- adapter with the following message:
- megaraid: resetting the host...
- megaraid mbox: reset sequence completed successfully
- megaraid: fast sync command timed out
- megaraid: reservation reset failed
- when the "Cluster mode" of the adapter BIOS is enabled.
- So, whenever the reset occurs, the adapter goes to
- offline and just become unavailable.
- Jun'ichi Nomura [mailto:jnomura@mtc.biglobe.ne.jp]
- ---
- Release Date : Mon Mar 07 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com>
- Current Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module)
- Older Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module)
- 1. Added IOCTL backward compatibility.
- Convert megaraid_mm driver to new compat_ioctl entry points.
- I don't have easy access to hardware, so only compile tested.
- - Signed-off-by:Andi Kleen <ak@muc.de>
- 2. megaraid_mbox fix: wrong order of arguments in memset()
- That, BTW, shows why cross-builds are useful-the only indication of
- problem had been a new warning showing up in sparse output on alpha
- build (number of exceeding 256 got truncated).
- - Signed-off-by: Al Viro
- <viro@parcelfarce.linux.theplanet.co.uk>
- 3. Convert pci_module_init to pci_register_driver
- Convert from pci_module_init to pci_register_driver
- (from:http://kernelnewbies.org/KernelJanitors/TODO)
- - Signed-off-by: Domen Puncer <domen@coderock.org>
- 4. Use the pre defined DMA mask constants from dma-mapping.h
- Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling
- pci_set_dma_mask() or pci_set_consistend_dma_mask(). See
- http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for more
- details.
- Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
- Signed-off-by: Domen Puncer <domen@coderock.org>
- 5. Remove SSID checking for Dobson, Lindsay, and Verde based products.
- Checking the SSVID/SSID for controllers which have Dobson, Lindsay,
- and Verde is unnecessary because device ID has been assigned by LSI
- and it is unique value. So, all controllers with these IOPs have to be
- supported by the driver regardless SSVID/SSID.
- 6. Date Thu, 27 Jan 2005 04:31:09 +0100
- From Herbert Poetzl <>
- Subject RFC: assert_spin_locked() for 2.6
- Greetings!
- overcautious programming will kill your kernel ;)
- ever thought about checking a spin_lock or even
- asserting that it must be held (maybe just for
- spinlock debugging?) ...
- there are several checks present in the kernel
- where somebody does a variation on the following:
- BUG_ON(!spin_is_locked(&some_lock));
- so what's wrong about that? nothing, unless you
- compile the code with CONFIG_DEBUG_SPINLOCK but
- without CONFIG_SMP ... in which case the BUG()
- will kill your kernel ...
- maybe it's not advised to make such assertions,
- but here is a solution which works for me ...
- (compile tested for sh, x86_64 and x86, boot/run
- tested for x86 only)
- best,
- Herbert
- - Herbert Poetzl <herbert@13thfloor.at>, Thu, 27 Jan 2005
- Release Date : Thu Feb 03 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com>
- Current Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module)
- Older Version : 2.20.4.4 (scsi module), 2.20.2.4 (cmm module)
- 1. Modified name of two attributes in scsi_host_template.
- On Wed, 2005-02-02 at 10:56 -0500, Ju, Seokmann wrote:
- > + .sdev_attrs = megaraid_device_attrs,
- > + .shost_attrs = megaraid_class_device_attrs,
- These are, perhaps, slightly confusing names.
- The terms device and class_device have well defined meanings in the
- generic device model, neither of which is what you mean here.
- Why not simply megaraid_sdev_attrs and megaraid_shost_attrs?
- Other than this, it looks fine to me too.
- Release Date : Thu Jan 27 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.4.4 (scsi module), 2.20.2.5 (cmm module)
- Older Version : 2.20.4.3 (scsi module), 2.20.2.4 (cmm module)
- 1. Bump up the version of scsi module due to its conflict.
- Release Date : Thu Jan 21 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.4.3 (scsi module), 2.20.2.5 (cmm module)
- Older Version : 2.20.4.2 (scsi module), 2.20.2.4 (cmm module)
- 1. Remove driver ioctl for logical drive to scsi address translation and
- replace with the sysfs attribute. To remove drives and change
- capacity, application shall now use the device attribute to get the
- logical drive number for a scsi device. For adding newly created
- logical drives, class device attribute would be required to uniquely
- identify each controller.
- - Atul Mukker <atulm@lsil.com>
- "James, I've been thinking about this a little more, and you may be on
- to something here. Let each driver add files as such:"
- - Matt Domsch <Matt_Domsch@dell.com>, 12.15.2004
- linux-scsi mailing list
- "Then, if you simply publish your LD number as an extra parameter of
- the device, you can look through /sys to find it."
- - James Bottomley <James.Bottomley@SteelEye.com>, 01.03.2005
- linux-scsi mailing list
- "I don't see why not ... it's your driver, you can publish whatever
- extra information you need as scsi_device attributes; that was one of
- the designs of the extensible attribute system."
- - James Bottomley <James.Bottomley@SteelEye.com>, 01.06.2005
- linux-scsi mailing list
- 2. Add AMI megaraid support - Brian King <brking@charter.net>
- PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3,
- PCI_VENDOR_ID_AMI, PCI_SUBSYS_ID_PERC3_DC,
- 3. Make some code static - Adrian Bunk <bunk@stusta.de>
- Date: Mon, 15 Nov 2004 03:14:57 +0100
- The patch below makes some needlessly global code static.
- -wait_queue_head_t wait_q;
- +static wait_queue_head_t wait_q;
- Signed-off-by: Adrian Bunk <bunk@stusta.de>
- 4. Added NEC ROMB support - NEC MegaRAID PCI Express ROMB controller
- PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_MEGARAID_NEC_ROMB_2E,
- PCI_SUBSYS_ID_NEC, PCI_SUBSYS_ID_MEGARAID_NEC_ROMB_2E,
- 5. Fixed Tape drive issue : For any Direct CDB command to physical device
- including tape, timeout value set by driver was 10 minutes. With this
- value, most of command will return within timeout. However, for those
- command like ERASE or FORMAT, it takes more than an hour depends on
- capacity of the device and the command could be terminated before it
- completes.
- To address this issue, the 'timeout' field in the DCDB command will
- have NO TIMEOUT (i.e., 4) value as its timeout on DCDB command.
- Release Date : Thu Dec 9 19:10:23 EST 2004
- - Sreenivas Bagalkote <sreenib@lsil.com>
- Current Version : 2.20.4.2 (scsi module), 2.20.2.4 (cmm module)
- Older Version : 2.20.4.1 (scsi module), 2.20.2.3 (cmm module)
- i. Introduced driver ioctl that returns scsi address for a given ld.
-
- "Why can't the existing sysfs interfaces be used to do this?"
- - Brian King (brking@us.ibm.com)
-
- "I've looked into solving this another way, but I cannot see how
- to get this driver-private mapping of logical drive number-> HCTL
- without putting code something like this into the driver."
- "...and by providing a mapping a function to userspace, the driver
- is free to change its mapping algorithm in the future if necessary .."
- - Matt Domsch (Matt_Domsch@dell.com)
- Release Date : Thu Dec 9 19:02:14 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com>
- Current Version : 2.20.4.1 (scsi module), 2.20.2.3 (cmm module)
- Older Version : 2.20.4.1 (scsi module), 2.20.2.2 (cmm module)
- i. Fix a bug in kioc's dma buffer deallocation
- Release Date : Thu Nov 4 18:24:56 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com>
- Current Version : 2.20.4.1 (scsi module), 2.20.2.2 (cmm module)
- Older Version : 2.20.4.0 (scsi module), 2.20.2.1 (cmm module)
- i. Handle IOCTL cmd timeouts more properly.
- ii. pci_dma_sync_{sg,single}_for_cpu was introduced into megaraid_mbox
- incorrectly (instead of _for_device). Changed to appropriate
- pci_dma_sync_{sg,single}_for_device.
- Release Date : Wed Oct 06 11:15:29 EDT 2004 - Sreenivas Bagalkote <sreenib@lsil.com>
- Current Version : 2.20.4.0 (scsi module), 2.20.2.1 (cmm module)
- Older Version : 2.20.4.0 (scsi module), 2.20.2.0 (cmm module)
- i. Remove CONFIG_COMPAT around register_ioctl32_conversion
- Release Date : Mon Sep 27 22:15:07 EDT 2004 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.4.0 (scsi module), 2.20.2.0 (cmm module)
- Older Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module)
- i. Fix data corruption. Because of a typo in the driver, the IO packets
- were wrongly shared by the ioctl path. This causes a whole IO command
- to be replaced by an incoming ioctl command.
- Release Date : Tue Aug 24 09:43:35 EDT 2004 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module)
- Older Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module)
- i. Function reordering so that inline functions are defined before they
- are actually used. It is now mandatory for GCC 3.4.1 (current stable)
- Declare some heavy-weight functions to be non-inlined,
- megaraid_mbox_build_cmd, megaraid_mbox_runpendq,
- megaraid_mbox_prepare_pthru, megaraid_mbox_prepare_epthru,
- megaraid_busywait_mbox
- - Andrew Morton, 08.19.2004
- linux-scsi mailing list
- "Something else to clean up after inclusion: every instance of an
- inline function is actually rendered as a full function call, because
- the function is always used before it is defined. Atul, please
- re-arrange the code to eliminate the need for most (all) of the
- function prototypes at the top of each file, and define (not just
- declare with a prototype) each inline function before its first use"
- - Matt Domsch <Matt_Domsch@dell.com>, 07.27.2004
- linux-scsi mailing list
- ii. Display elapsed time (countdown) while waiting for FW to boot.
- iii. Module compilation reorder in Makefile so that unresolved symbols do
- not occur when driver is compiled non-modular.
- Patrick J. LoPresti <patl@users.sourceforge.net>, 8.22.2004
- linux-scsi mailing list
- Release Date : Thu Aug 19 09:58:33 EDT 2004 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module)
- Older Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module)
- i. When copying the mailbox packets, copy only first 14 bytes (for 32-bit
- mailboxes) and only first 22 bytes (for 64-bit mailboxes). This is to
- avoid getting the stale values for busy bit. We want to set the busy
- bit just before issuing command to the FW.
- ii. In the reset handling, if the reseted command is not owned by the
- driver, do not (wrongly) print information for the "attached" driver
- packet.
- iii. Have extended wait when issuing command in synchronous mode. This is
- required for the cases where the option ROM is disabled and there is
- no BIOS to start the controller. The FW starts to boot after receiving
- the first command from the driver. The current driver has 1 second
- timeout for the synchronous commands, which is far less than what is
- actually required. We now wait up to MBOX_RESET_TIME (180 seconds) for
- FW boot process.
- iv. In megaraid_mbox_product_info, clear the mailbox contents completely
- before preparing the command for inquiry3. This is to ensure that the
- FW does not get junk values in the command.
- v. Do away with the redundant LSI_CONFIG_COMPAT redefinition for
- CONFIG_COMPAT. Replace <asm/ioctl32.h> with <linux/ioctl32.h>
- - James Bottomley <James.Bottomley@SteelEye.com>, 08.17.2004
- linux-scsi mailing list
- vi. Add support for 64-bit applications. Current drivers assume only
- 32-bit applications, even on 64-bit platforms. Use the "data" and
- "buffer" fields of the mimd_t structure, instead of embedded 32-bit
- addresses in application mailbox and passthru structures.
- vii. Move the function declarations for the management module from
- megaraid_mm.h to megaraid_mm.c
- - Andrew Morton, 08.19.2004
- linux-scsi mailing list
- viii. Change default values for MEGARAID_NEWGEN, MEGARAID_MM, and
- MEGARAID_MAILBOX to 'n' in Kconfig.megaraid
- - Andrew Morton, 08.19.2004
- linux-scsi mailing list
- ix. replace udelay with msleep
- x. Typos corrected in comments and whitespace adjustments, explicit
- grouping of expressions.
- Release Date : Fri Jul 23 15:22:07 EDT 2004 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module)
- Older Version : 2.20.1.0 (scsi module), 2.20.0.0 (cmm module)
- i. Add PCI ids for Acer ROMB 2E solution
- ii. Add PCI ids for I4
- iii. Typo corrected for subsys id for megaraid sata 300-4x
- iv. Remove yield() while mailbox handshake in synchronous commands
- "My other main gripe is things like this:
- + // wait for maximum 1 second for status to post
- + for (i = 0; i < 40000; i++) {
- + if (mbox->numstatus != 0xFF) break;
- + udelay(25); yield();
- + }
- which litter the driver. Use of yield() in drivers is deprecated."
- - James Bottomley <James.Bottomley@SteelEye.com>, 07.14.2004
- linux-scsi mailing list
- v. Remove redundant __megaraid_busywait_mbox routine
- vi. Fix bug in the management module, which causes a system lockup when the
- IO module is loaded and then unloaded, followed by executing any
- management utility. The current version of management module does not
- handle the adapter unregister properly.
- Specifically, it still keeps a reference to the unregistered
- controllers. To avoid this, the static array adapters has been
- replaced by a dynamic list, which gets updated every time an adapter
- is added or removed.
- Also, during unregistration of the IO module, the resources are
- now released in the exact reverse order of the allocation time
- sequence.
- Release Date : Fri Jun 25 18:58:43 EDT 2004 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.1.0
- Older Version : megaraid 2.20.0.1
- i. Stale list pointer in adapter causes kernel panic when module
- megaraid_mbox is unloaded
- Release Date : Thu Jun 24 20:37:11 EDT 2004 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.0.1
- Older Version : megaraid 2.20.0.00
- i. Modules are not 'y' by default, but depend on current definition of
- SCSI & PCI.
- ii. Redundant structure mraid_driver_t removed.
- iii. Miscellaneous indentation and goto/label fixes.
- - Christoph Hellwig <hch@infradead.org>, 06.24.2004 linux-scsi
- iv. scsi_host_put(), do just before completing HBA shutdown.
- Release Date : Mon Jun 21 19:53:54 EDT 2004 - Atul Mukker <atulm@lsil.com>
- Current Version : 2.20.0.0
- Older Version : megaraid 2.20.0.rc2 and 2.00.3
- i. Independent module to interact with userland applications and
- multiplex command to low level RAID module(s).
- "Shared code in a third module, a "library module", is an acceptable
- solution. modprobe automatically loads dependent modules, so users
- running "modprobe driver1" or "modprobe driver2" would automatically
- load the shared library module."
- - Jeff Garzik <jgarzik@pobox.com> 02.25.2004 LKML
- "As Jeff hinted, if your userspace<->driver API is consistent between
- your new MPT-based RAID controllers and your existing megaraid driver,
- then perhaps you need a single small helper module (lsiioctl or some
- better name), loaded by both mptraid and megaraid automatically, which
- handles registering the /dev/megaraid node dynamically. In this case,
- both mptraid and megaraid would register with lsiioctl for each
- adapter discovered, and lsiioctl would essentially be a switch,
- redirecting userspace tool ioctls to the appropriate driver."
- - Matt Domsch <Matt_Domsch@dell.com> 02.25.2004 LKML
- ii. Remove C99 initializations from pci_device id.
- "pci_id_table_g would be much more readable when not using C99
- initializers.
- PCI table doesn't change, there's lots of users that prefer the more
- readable variant. And it's really far less and much easier to grok
- lines without C99 initializers."
- - Christoph Hellwig <hch@infradead.org>, 05.28.2004 linux-scsi
- iii. Many fixes as suggested by Christoph Hellwig <hch@infradead.org> on
- linux-scsi, 05.28.2004
- iv. We now support up to 32 parallel ioctl commands instead of current 1.
- There is a conscious effort to let memory allocation not fail for ioctl
- commands.
- v. Do away with internal memory management. Use pci_pool_(create|alloc)
- instead.
- vi. Kill tasklet when unloading the driver.
- vii. Do not use "host_lock', driver has fine-grain locks now to protect all
- data structures.
- viii. Optimize the build scatter-gather list routine. The callers already
- know the data transfer address and length.
- ix. Better implementation of error handling and recovery. Driver now
- performs extended errors recovery for instances like scsi cable pull.
- x. Disassociate the management commands with an overlaid scsi command.
- Driver now treats the management packets as special packets and has a
- dedicated callback routine.
|