diff -pruN uniata-0.41b5/driver/id_ata.cpp uniata-0.41b5-nowarn/driver/id_ata.cpp --- uniata-0.41b5/driver/id_ata.cpp 2012-06-29 00:46:08 +0200 +++ uniata-0.41b5-nowarn/driver/id_ata.cpp 2012-07-09 13:23:40 +0200 @@ -3732,7 +3732,7 @@ AtapiCheckInterrupt__( { PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; PHW_CHANNEL chan = &(deviceExtension->chan[c]); - PHW_LU_EXTENSION LunExt; + PHW_LU_EXTENSION LunExt = chan->lun[chan->cur_cdev]; ULONG VendorID = deviceExtension->DevID & 0xffff; ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; @@ -3976,7 +3976,6 @@ AtapiCheckInterrupt__( } check_unknown: KdPrint2((PRINT_PREFIX " perform generic check\n")); - LunExt = chan->lun[chan->cur_cdev]; if (DmaTransfer) { if (!((dma_status = GetDmaStatus(deviceExtension, lChannel)) & BM_STATUS_INTR)) { KdPrint2((PRINT_PREFIX " DmaTransfer + !BM_STATUS_INTR (%x)\n", dma_status)); diff -pruN uniata-0.41b5/driver/id_init.cpp uniata-0.41b5-nowarn/driver/id_init.cpp --- uniata-0.41b5/driver/id_init.cpp 2012-06-28 14:49:16 +0200 +++ uniata-0.41b5-nowarn/driver/id_init.cpp 2012-07-09 13:23:47 +0200 @@ -1020,6 +1020,7 @@ for_ugly_chips: /* if BAR(5) is IO it should point to SATA interface registers */ if(deviceExtension->DevID == 0x28288086 && pciData->u.type0.SubVendorID == 0x106b) { + BaseMemAddress = 0; KdPrint2((PRINT_PREFIX "Ignore BAR5 on ICH8M Apples\n")); } else { /* Skip BAR(5) on ICH8M Apples, system locks up on access. */