There are many more reasons for a switchport to go into errdisable. This is on a 3550:
SWITCH>sho errdisable det
ErrDisable Reason Detection status
----------------- ----------------
udld Enabled
bpduguard Enabled
security-violatio Enabled
channel-misconfig Enabled
psecure-violation Enabled
dhcp-rate-limit Enabled
unicast-flood Enabled
vmps Enabled
pagp-flap Enabled
dtp-flap Enabled
link-flap Enabled
l2ptguard Enabled
gbic-invalid Enabled
loopback Enabled
Link-flapping is the most common one AFAIK.
Have you checked the log? Normally the log gives the reason.