Abhijeet Dharmapurikar  
		
	
	43b7c2a243 
	
	
	genirq: pm: Fix the enable ordering in resume  
		
			... 
			In suspend interrupts are disabled from 0 to NR_IRQ, in resume interrupts
should be enabled in reverse order.
Enabling parent or summary interrupts before enabling child interrupts
causes the handler of the child interrupt to run even before it is
enabled. Usually the genirq handler does the correct thing of masking
the interrupt and additionally marking the interrupt IRQ_PENDING if its
an edge triggered interrupt. However the nested handler
(handle_nested_irq()) simply ignores the interrupt causing a loss of it.
Not calling the action of an interrupt, especially if it marked wakeup,
causes the system to incorrectly go back to suspend immediately.
Change-Id: Ica30c10a975a4a7b41b97b4f21250dac80335b2b
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org > 
		
	 
 
		2011-03-23 01:41:36 +08:00 
	 
	
	
	
		  ..
	 
	
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2011-03-23 01:41:36 +08:00 
		 
	
		
			
			
			
			
			
			2010-10-30 23:29:38 +11:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-10-30 23:29:38 +11:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00 
		 
	
		
			
			
			
			
			
			2010-08-27 11:19:57 +02:00