Fix bad descriptor error when using -d to specify the device