mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	arm: mach-davinci: check irq2ctlr() result
If irq2ctlr() fails return IRQ_NONE. Also as it can fail make 'ctlr' signed. The semantic patch that finds this problem (many false-positive results): (http://coccinelle.lip6.fr/) // <smpl> @ r1 @ identifier f; @@ int f(...) { ... } @@ identifier r1.f; type T; unsigned T x; @@ *x = f(...) ... *x > 0 Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
This commit is contained in:
		
							parent
							
								
									85b8307fd0
								
							
						
					
					
						commit
						93fe23d8a9
					
				
					 1 changed files with 6 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -354,10 +354,12 @@ static int irq2ctlr(int irq)
 | 
			
		|||
static irqreturn_t dma_irq_handler(int irq, void *data)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	unsigned ctlr;
 | 
			
		||||
	int ctlr;
 | 
			
		||||
	unsigned int cnt = 0;
 | 
			
		||||
 | 
			
		||||
	ctlr = irq2ctlr(irq);
 | 
			
		||||
	if (ctlr < 0)
 | 
			
		||||
		return IRQ_NONE;
 | 
			
		||||
 | 
			
		||||
	dev_dbg(data, "dma_irq_handler\n");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -408,10 +410,12 @@ static irqreturn_t dma_irq_handler(int irq, void *data)
 | 
			
		|||
static irqreturn_t dma_ccerr_handler(int irq, void *data)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	unsigned ctlr;
 | 
			
		||||
	int ctlr;
 | 
			
		||||
	unsigned int cnt = 0;
 | 
			
		||||
 | 
			
		||||
	ctlr = irq2ctlr(irq);
 | 
			
		||||
	if (ctlr < 0)
 | 
			
		||||
		return IRQ_NONE;
 | 
			
		||||
 | 
			
		||||
	dev_dbg(data, "dma_ccerr_handler\n");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue