On 26.10.2016. 5:50, YASUOKA Masahiko wrote: > On Wed, 26 Oct 2016 10:26:19 +1100 > Jonathan Gray <j...@jsg.id.au> wrote: >> On Tue, Oct 25, 2016 at 05:29:55PM +0900, YASUOKA Masahiko wrote: >>> I'm working on making mfii(4) bio(4) capable. >>> >>> If you have a machine which has mfii(4), I'd like you to test the diff >>> following. (It might be risky for production machines for this >>> moment.) >>> >>> After the diff applied, bioctl(8) against the disk (eg. sd0) starts >>> working and also "sysctl hw.sensors.mfii0" will appear. >>> >>> Especially if you can configure a hotspare, testing it is very >>> helpful for me since I can't use a hotspare on my test machine. > (snip) >>> + case BIOC_SATEST: >>> + cmd = MR_DCMD_SPEAKER_TEST; >>> + break; >>> + default: >>> + return (EINVAL); >>> + } >>> + >>> + ccb = scsi_io_get(&sc->sc_iopool, 0); >>> + rv = mfii_mgmt(sc, ccb, MR_DCMD_PD_SET_STATE, NULL, >>> + &spkr, sizeof(spkr), flags | SCSI_NOSLEEP); >> >> Should this be cmd rather than MR_DCMD_PD_SET_STATE? >> The cmd values from the switch statement are not used. > > Oops. Yes, that's right. > >>> +int >>> +mfii_ioctl_blink(struct mfii_softc *sc, struct bioc_blink *bb) > (snip) >>> + case BIOC_SBBLINK: >>> + case BIOC_SBALARM: >>> + cmd = MR_DCMD_PD_BLINK; >>> + break; >>> + default: >>> + rv = EINVAL; >>> + goto done; >>> + } >>> + >>> + ccb = scsi_io_get(&sc->sc_iopool, 0); >>> + rv = mfii_mgmt(sc, ccb, cmd, NULL, NULL, 0, SCSI_NOSLEEP); >>> + scsi_io_put(&sc->sc_iopool, ccb); > > Passing the mbox to mfii_mgmt() was missing. > >>> + done: >>> + free(list, M_TEMP, sizeof(*list)); >>> + >>> + return (ENOTTY); >>> +} >> >> Shouldn't this be return (rv) to return the EINVAL values? >> With rv set to 0 before the 'done' to return 0 when there is no error? > > Yes, that's also right. Thanks.
Hi, with this version boot stops here: mfii0 at pci7 dev 0 function 0 "Symbios Logic MegaRAID SAS2208" rev 0x05: msi mfii0: "ServeRAID M5110", firmware 23.34.0-0016, 512MB cache scsibus1 at mfii0: 64 targets sd0 at scsibus1 targ 0 lun 0: <IBM, ServeRAID M5110, 3.46> SCSI3 0/direct fixed naa.600605b006c3a0b01a582bd010e4c053 sd0: 952720MB, 512 bytes/sector, 1951170560 sectors mfii0: timeout on ccb 1008 mfii_mgmt cmd=50593792 failed status=255