diff -r 75252ea6123b -r c7a0ce20c48c kernel/eka/include/drivers/dma_hai.h --- a/kernel/eka/include/drivers/dma_hai.h Mon Jul 26 10:52:56 2010 +0100 +++ b/kernel/eka/include/drivers/dma_hai.h Fri Aug 06 16:34:38 2010 +0100 @@ -896,12 +896,17 @@ */ class TDmaAsymSgChannel : public TDmaChannel { +public: + TDmaAsymSgChannel(); + private: virtual void DoQueue(const DDmaRequest& aReq); virtual void DoCancelAll(); virtual void DoUnlink(SDmaDesHdr& aHdr); virtual void DoDfc(const DDmaRequest& aCurReq, SDmaDesHdr*& aSrcCompletedHdr, SDmaDesHdr*& aDstCompletedHdr); + virtual void SetNullPtr(const DDmaRequest& aReq); + virtual void ResetNullPtr(); protected: SDmaDesHdr* iSrcCurHdr; // source fragment being transferred or NULL @@ -909,6 +914,8 @@ SDmaDesHdr* iDstCurHdr; // destination fragment being transferred or NULL SDmaDesHdr** iDstNullPtr; // Pointer to NULL pointer following last destination fragment enum {EIdle = 0, ETransferring} iState; + + __DMA_DECLARE_VIRTUAL_INVARIANT };