--- id_probe.cpp Wed Oct 12 22:03:52 2011 +++ id_probe.cpp Sun Oct 16 20:14:50 2011 @@ -2606,6 +2606,11 @@ chan->lChannel = 0; chan->lun[0] = &(deviceExtension->lun[0]); chan->lun[1] = &(deviceExtension->lun[1]); + chan->NumberLuns = deviceExtension->NumberLuns; + chan->lun[0]->chan = chan; + chan->lun[0]->Lun = 0; + chan->lun[1]->chan = chan; + chan->lun[1]->Lun = 1; /* do extra channel-specific setups */ AtapiReadChipConfig(HwDeviceExtension, DEVNUM_NOT_SPECIFIED, 0); @@ -2828,7 +2833,9 @@ KdPrint2((PRINT_PREFIX "CheckDevice: Device %#x\n", deviceNumber)); - if(deviceNumber > chan->NumberLuns) { + if((deviceNumber + 1) > chan->NumberLuns) { + KdPrint2((PRINT_PREFIX "Error! device number exceeds number of channel LUNs %#x!\n", + deviceNumber, chan->NumberLuns)); return 0; }