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