VirtualBox

Changeset 25897 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jan 18, 2010 3:31:35 PM (15 years ago)
Author:
vboxsync
Message:

ATA: ataIOPortReadStr1: deal with the unlikely case where no data (or not enough for the read length operation) is available; go back to ring 3.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevATA.cpp

    r25732 r25897  
    53885388        cTransAvailable = (s->iIOBufferPIODataEnd - s->iIOBufferPIODataStart) / cb;
    53895389#ifndef IN_RING3
     5390        /* Deal with the unlikely case where no data (or not enough for the read length operation) is available; go back to ring 3. */
     5391        if (!cTransAvailable)
     5392        {
     5393            PDMCritSectLeave(&pCtl->lock);
     5394            return VINF_IOM_HC_IOPORT_READ;
     5395        }
     5396
    53905397        /* The last transfer unit cannot be handled in GC, as it involves thread communication. */
    53915398        cTransAvailable--;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette