5be25877a1
- In the ioctl path let command get queued up and return when complete _without_ blocking the driving waiting for the response. This way the driver doesn't "lock up" for ~30s during a flash command. Submitted by scottl. - Add a guard so that if a DCMD of 0 is sent down the ioctl path don't send it to the controller. Return with a status of OK. This is a little strange since MegaCli doesn't seem to like something and will issue some DCMD of 0. This doesn't happen under Linux. So the emulation needs to be improved but I'm not sure what. Another strange thing is that when a DCMD of 0 gets issued under i386 the controller returns OK but in amd64 the context is messed up. - Add a guard so the context has to be with-in the legal limit so we get a reasonable error assertion versus random panic. It's going to be a challenge to figure out why MegaCli is not totally happy and then sends some bogus commands. This means that flashing firmware via the Linux tool won't work since it generates a DCMD of 0 when it should be opening the firmware for a flash update. Without this problem flashing works fine. This means there is no publicly available tool to upgrade the RAID firmware under FreeBSD right now. I plan to MFC all of the mfi changes to 6.X shortly. This might not include the SCSI pass-through changes. Submitted by: scottl Reviewed by: scottl MFC after: 3 days |
||
---|---|---|
.. | ||
mfi_cam.c | ||
mfi_debug.c | ||
mfi_disk.c | ||
mfi_ioctl.h | ||
mfi_linux.c | ||
mfi_pci.c | ||
mfi.c | ||
mfireg.h | ||
mfivar.h |