The debate on auto negotiation is still on. I have faced the lot of outages because of auto negotiation. Sometimes you find that the working link with auto negotiation configured come up with half duplex consequences packet drops which may lead to the various outages. According to the IEEE 802.3u clause number 28, 802.3z clause number 37 standards the auto negotiation should be enabled on devices. This is optional but always recommended. The best is to read the SUN’s Ethernet Auto Negotiation Best Practises.
But I used to prefer to disable the auto negotiation and forcefully set the all capabilities. But after reading this paper, I come to know that after disabling auto negotiation we are not able to detect the following problems:-
1. Bad Cable Problem
2. Link failures
3. Link Partner Capabilities
4. Performance Issues
5. Pause Frames or Flow Control
If we are facing problems by enabling auto negotiation, In that case we need to talk to the vendors rather than disabling it.