Sachverhalt: P._ (geboren 1968) bezog ab 1. März 2003 bei einem Invaliditätsgrad von 100 % eine ganze Invalidenrente (Verfügungen der IV-Stelle des Kantons Solothurn vom 1. Juni und 4. Dezember 2007 sowie vom 22. Januar 2008). Im Rahmen eines im April 2008 eingeleiteten Revisionsverfahrens setzte die IV-Stelle des Kantons Solothurn mit Verfügungen vom 24. August und 6. September 2010 die bisherige ganze Rente mit Wirkung ab 1. Oktober 2010 gestützt auf einen Invaliditätsgrad von 46 % auf eine Viertelsrente herab. In teilweiser Gutheissung der Beschwerde stellte das Versicherungsgericht des Kantons Solothurn mit Entscheid vom 5. Dezember 2011 fest, der Beschwerdeführerin stehe in Abänderung der angefochtenen Verfügungen mit Wirkung ab 1. Oktober 2010 eine halbe Rente zu. Soweit weitergehend wies es die Beschwerde ab. P._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit dem Antrag, in Aufhebung des vorinstanzlichen Entscheides und der Rentenverfügungen sei ihr ab 1. Oktober 2010 weiterhin eine ganze Invalidenrente zu entrichten. Ferner sei ihr für das bundesgerichtliche Verfahren die unentgeltliche Prozessführung und Verbeiständung zu gewähren.