[S390] Improve AP bus device removal.
Added a call to device_unregister() in ap_scan_bus() to actively remove unavailable AP bus devices with every bus scan. Previously devices were only removed in ap_queue_message() or __ap_poll_all(). Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
		
							parent
							
								
									12bae23507
								
							
						
					
					
						commit
						f3b017d8c9
					
				| @ -739,11 +739,16 @@ static void ap_scan_bus(void *data) | ||||
| 		dev = bus_find_device(&ap_bus_type, NULL, | ||||
| 				      (void *)(unsigned long)qid, | ||||
| 				      __ap_scan_bus); | ||||
| 		rc = ap_query_queue(qid, &queue_depth, &device_type); | ||||
| 		if (dev && rc) { | ||||
| 			put_device(dev); | ||||
| 			device_unregister(dev); | ||||
| 			continue; | ||||
| 		} | ||||
| 		if (dev) { | ||||
| 			put_device(dev); | ||||
| 			continue; | ||||
| 		} | ||||
| 		rc = ap_query_queue(qid, &queue_depth, &device_type); | ||||
| 		if (rc) | ||||
| 			continue; | ||||
| 		rc = ap_init_queue(qid); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user