change header file location for port layer
  - header doesn't need to be located in each port directory
+ fix bug in dma transfer (null dereference)