igb_xmit: sem_post on ENOSPC

igb_xmit is returning ENOSPC without releasing the semaphore at the moment. 

So I added an unlock label and an error variable. So in case of ENOSPC the semaphore is unlocked before returning.