ide: always set nIEN on idle devices
* Set nIEN for previous port/device in ide_do_request() also if port uses a non-shared IRQ. * Remove no longer needed ide_hwif_t.sharing_irq. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
		
							parent
							
								
									46aa7af1d6
								
							
						
					
					
						commit
						f58c1ab8de
					
				| @ -1003,7 +1003,7 @@ static void ide_do_request (ide_hwgroup_t *hwgroup, int masked_irq) | ||||
| 		} | ||||
| 	again: | ||||
| 		hwif = HWIF(drive); | ||||
| 		if (hwgroup->hwif->sharing_irq && hwif != hwgroup->hwif) { | ||||
| 		if (hwif != hwgroup->hwif) { | ||||
| 			/*
 | ||||
| 			 * set nIEN for previous hwif, drives in the | ||||
| 			 * quirk_list may not like intr setups/cleanups | ||||
|  | ||||
| @ -1060,7 +1060,6 @@ static int init_irq (ide_hwif_t *hwif) | ||||
| 
 | ||||
| 		if (h && h->hwgroup) {  /* scan only initialized ports */ | ||||
| 			if (hwif->irq == h->irq) { | ||||
| 				hwif->sharing_irq = h->sharing_irq = 1; | ||||
| 				if (hwif->chipset != ide_pci || | ||||
| 				    h->chipset != ide_pci) { | ||||
| 					save_match(hwif, h, &match); | ||||
| @ -1152,8 +1151,7 @@ static int init_irq (ide_hwif_t *hwif) | ||||
| 		io_ports->data_addr, hwif->irq); | ||||
| #endif /* __mc68000__ */ | ||||
| 	if (match) | ||||
| 		printk(KERN_CONT " (%sed with %s)", | ||||
| 			hwif->sharing_irq ? "shar" : "serializ", match->name); | ||||
| 		printk(KERN_CONT " (serialized with %s)", match->name); | ||||
| 	printk(KERN_CONT "\n"); | ||||
| 
 | ||||
| 	mutex_unlock(&ide_cfg_mtx); | ||||
|  | ||||
| @ -842,7 +842,6 @@ typedef struct hwif_s { | ||||
| 
 | ||||
| 	unsigned	present    : 1;	/* this interface exists */ | ||||
| 	unsigned	serialized : 1;	/* serialized all channel operation */ | ||||
| 	unsigned	sharing_irq: 1;	/* 1 = sharing irq with another hwif */ | ||||
| 	unsigned	sg_mapped  : 1;	/* sg_table and sg_nents are ready */ | ||||
| 
 | ||||
| 	struct device		gendev; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user