hi, I'm working on an ide driver.Whenever a DMA read operation is started,i never recieve the DMA interrupt.The staus register at offset 00h shows value ' 0 ',which means that the descriptor table specified a smaller buffer size than the programmed IDE transfer size. But occassionaly i recieved the DMA interrupt. Actually this driver works well on another board.On that board whenever i reduced the buffer size in physical region descriptor table to less than the current size in the PRDT table,i again got the same error. I think this confirms that whenever we give smaller size in PRDT than the programmed IDE transfer size,status register shows ' 0 ' value. Please tell me where in kernel that programmed IDE transfer size is being set.The transfer size in PRDT on the other board(on which driver shows no problem) varied from 4k to 1k ,which means it is changed frequently. shahzad