A fast search on google for: ping no buffer space available
returns various forum thread which seems to agree on this point:
The two NICs share the same IRQ or maybe one of them shares it with another card/ide/usb device.
You could try a cat /proc/interrupts
and see if that's the case.
For example on a server with two NICs I have:
0: 105539 IO-APIC-edge timer1: 2 IO-APIC-edge i80422: 0 XT-PIC-XT cascade8: 1 IO-APIC-edge rtc010: 0 IO-APIC-fasteoi ohci_hcd:usb112: 4 IO-APIC-edge i804214: 882208736 IO-APIC-edge ide015: 0 IO-APIC-edge ide122: 3552346607 IO-APIC-fasteoi eth023: 3776214353 IO-APIC-fasteoi eth1
so no sharing here.