linux_driver: Fixed GPIO copy size bug and added/fixed timeouts

An incorrect size in for GPIO read/write resulted in memory corruption.

Added and fixed timeouts to ensure control returns to caller if the FX3
fails to respond.