X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/8f6c56a50524aa785f7e596d52dddfb331e18961..e2d2fc5c71f7d145cba7267989251af45e3bb5ba:/iokit/Kernel/IODataQueue.cpp diff --git a/iokit/Kernel/IODataQueue.cpp b/iokit/Kernel/IODataQueue.cpp index 263de30dc..1001ebeff 100644 --- a/iokit/Kernel/IODataQueue.cpp +++ b/iokit/Kernel/IODataQueue.cpp @@ -77,14 +77,14 @@ Boolean IODataQueue::initWithCapacity(UInt32 size) return false; } - dataQueue = (IODataQueueMemory *)IOMallocAligned(round_page_32(size + DATA_QUEUE_MEMORY_HEADER_SIZE), PAGE_SIZE); + dataQueue = (IODataQueueMemory *)IOMallocAligned(round_page(size + DATA_QUEUE_MEMORY_HEADER_SIZE), PAGE_SIZE); if (dataQueue == 0) { return false; } - dataQueue->queueSize = size; - dataQueue->head = 0; - dataQueue->tail = 0; + dataQueue->queueSize = size; + dataQueue->head = 0; + dataQueue->tail = 0; return true; } @@ -97,7 +97,7 @@ Boolean IODataQueue::initWithEntries(UInt32 numEntries, UInt32 entrySize) void IODataQueue::free() { if (dataQueue) { - IOFreeAligned(dataQueue, round_page_32(dataQueue->queueSize + DATA_QUEUE_MEMORY_HEADER_SIZE)); + IOFreeAligned(dataQueue, round_page(dataQueue->queueSize + DATA_QUEUE_MEMORY_HEADER_SIZE)); } super::free(); @@ -208,8 +208,8 @@ void IODataQueue::sendDataAvailableNotification() mach_msg_header_t * msgh; msgh = (mach_msg_header_t *)notifyMsg; - if (msgh) { - kr = mach_msg_send_from_kernel(msgh, msgh->msgh_size); + if (msgh && msgh->msgh_remote_port) { + kr = mach_msg_send_from_kernel_proper(msgh, msgh->msgh_size); switch(kr) { case MACH_SEND_TIMED_OUT: // Notification already sent case MACH_MSG_SUCCESS: