mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	[Bluetooth] Eliminate checks for impossible conditions in IRQ handler
Our info structure and info->hdev is always passed to the IRQ handler, so we don't have to worry about these checks in every interrupt. Leave a BUG_ON() just to help unwary programmers, but these could probably be removed as well. Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
		
							parent
							
								
									166d2f6a43
								
							
						
					
					
						commit
						ac019360fe
					
				
					 4 changed files with 4 additions and 16 deletions
				
			
		| 
						 | 
					@ -503,10 +503,7 @@ static irqreturn_t bluecard_interrupt(int irq, void *dev_inst)
 | 
				
			||||||
	unsigned int iobase;
 | 
						unsigned int iobase;
 | 
				
			||||||
	unsigned char reg;
 | 
						unsigned char reg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!info || !info->hdev) {
 | 
						BUG_ON(!info->hdev);
 | 
				
			||||||
		BT_ERR("Call of irq %d for unknown device", irq);
 | 
					 | 
				
			||||||
		return IRQ_NONE;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!test_bit(CARD_READY, &(info->hw_state)))
 | 
						if (!test_bit(CARD_READY, &(info->hw_state)))
 | 
				
			||||||
		return IRQ_HANDLED;
 | 
							return IRQ_HANDLED;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -344,10 +344,7 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst)
 | 
				
			||||||
	unsigned int iobase;
 | 
						unsigned int iobase;
 | 
				
			||||||
	int iir;
 | 
						int iir;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!info || !info->hdev) {
 | 
						BUG_ON(!info->hdev);
 | 
				
			||||||
		BT_ERR("Call of irq %d for unknown device", irq);
 | 
					 | 
				
			||||||
		return IRQ_NONE;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	iobase = info->p_dev->io.BasePort1;
 | 
						iobase = info->p_dev->io.BasePort1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -294,10 +294,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
 | 
				
			||||||
	int boguscount = 0;
 | 
						int boguscount = 0;
 | 
				
			||||||
	int iir, lsr;
 | 
						int iir, lsr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!info || !info->hdev) {
 | 
						BUG_ON(!info->hdev);
 | 
				
			||||||
		BT_ERR("Call of irq %d for unknown device", irq);
 | 
					 | 
				
			||||||
		return IRQ_NONE;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	iobase = info->p_dev->io.BasePort1;
 | 
						iobase = info->p_dev->io.BasePort1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -298,10 +298,7 @@ static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
 | 
				
			||||||
	int boguscount = 0;
 | 
						int boguscount = 0;
 | 
				
			||||||
	int iir, lsr;
 | 
						int iir, lsr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!info || !info->hdev) {
 | 
						BUG_ON(!info->hdev);
 | 
				
			||||||
		BT_ERR("Call of irq %d for unknown device", irq);
 | 
					 | 
				
			||||||
		return IRQ_NONE;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	iobase = info->p_dev->io.BasePort1;
 | 
						iobase = info->p_dev->io.BasePort1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue