Image copyright AP Image caption A US fighter plane fired 211 shells at the MSF compound over a 25-minute period

The US military has disciplined more than a dozen service members after an air strike on a Medecins Sans Frontieres (MSF) hospital in Afghanistan killed 42 people last year.

The Pentagon has acknowledged that the clinic was targeted by mistake, but no personnel will face criminal charges.

The Associated Press reported that the sanctions, which were not made public, were mostly administrative.

Some received formal reprimands while others were suspended from duty.

Both officers and enlisted personnel were disciplined, but no generals were punished.

A spokeswoman for MSF said the medical charity would not comment until the Pentagon made the details public.

Image copyright AP Image caption US officials said the Doctors Without Borders hospital was targeted by mistake

The disciplinary action was the result of a Pentagon investigation into the attack. A report on that investigation is expected to be made public next week.

In October, a US gunship fired on the hospital in the city of Kunduz. Taliban fighters had recently retaken the city after US-led forces drove them out in 2001.

Afghan officials said the building had been taken over by Taliban fighters, but no evidence has been found to back those claims.

MSF said the incident constituted "violations of the rules of war". The hospital was destroyed and MSF pulled out of Kunduz after the attack.

Army Gen John Campbell, the top US commander in Afghanistan at the time, called the incident a "tragic but avoidable accident caused primarily by human error".

US President Barack Obama apologised for the air strike, which was one of the deadliest attacks on civilians in the 15-year Afghan conflict.