My understanding is that the duplex mismatch notification comes up due to the fault finder algorithm which looks for certain things before issuing that error. In the case of a duplex mismatch it would be looking for FCS/Alignment errors on that ports counters. Once it exceeds a certain amount or errors the notification will be issued.
To correct it, I would be double checking the cable itself, patch panel leads, and the NIC itself.
Alternatively you can try reducing the sensitivity of the fault finder (default is medium) to low:
5304(config)# fault-finder duplex-mismatch-hdx sensitivity low
and
5304(config)# fault-finder duplex-mismatch-fdx sensitivity low