First make sure errdisable recovery is enabled.
errdisable recovery cause all
errdisable recovery interval 30
Next change the 2960's to using mst.
spanning-tree mode mst
It is very important that both ends of the trunk have the same native vlan. To keep life simple, I would leave the native vlan for the trunks as vlan1.