Faits: A. Par jugement du 1er mars 2010, le Tribunal de police du canton de Genève a reconnu X._ coupable de recel (art. 160 ch. 1 al. 1 CP) et l'a condamnée à une peine privative de liberté de 2 mois et 25 jours, sous déduction de 2 mois et 19 jours de détention avant jugement. Par arrêt du 17 janvier 2011, la Chambre pénale de la Cour de justice du canton de Genève a rejeté l'appel de X._, confirmé le jugement du Tribunal de police et condamné celle-ci à la moitié des frais d'appel. Par arrêt du 14 juin 2011 (6B_128/2011), le Tribunal fédéral a partiellement admis le recours de X._, annulé l'arrêt du 17 janvier 2011 et renvoyé la cause à l'autorité cantonale pour nouvelle décision au sens des considérants. B. Par arrêt du 22 novembre 2011, la Chambre pénale d'appel et de révision de la Cour de justice du canton de Genève a annulé le jugement du 1er mars 2010 en tant qu'il condamnait X._ à une peine privative de liberté ferme de 2 mois et 25 jours, sous déduction de 2 mois et 19 jours de détention avant jugement et, statuant à nouveau, a condamné X._ à 340 heures de travail d'intérêt général, sous déduction de sa détention avant jugement, correspondant à 316 heures de travail d'intérêt général. Elle a confirmé pour le surplus le jugement du 1er mars 2010 et a mis le quart des frais de la procédure d'appel antérieure à l'arrêt du Tribunal fédéral du 14 juin 2011 à la charge de X._, les frais étant pour le surplus laissés à la charge de l'Etat. C. X._ forme un recours en matière pénale au Tribunal fédéral contre cet arrêt. Elle conclut principalement à son annulation. Subsidiairement, elle requiert sa réforme en ce sens qu'elle est condamnée à 340 heures de travail d'intérêt général, sous déduction de sa détention avant jugement correspondant à 320 heures de travail d'intérêt général, et que le dossier est pour le surplus renvoyé à l'autorité cantonale pour nouvelle décision au sens des considérants. Elle sollicite par ailleurs l'assistance judiciaire. 