aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio
diff options
context:
space:
mode:
authorPeter Oberparleiter <oberpar@linux.vnet.ibm.com>2013-11-26 09:00:37 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-12-16 08:37:43 -0500
commite6b2551425d961e68e70e806e22ec40787f7ed67 (patch)
treee1f259deec3a9d69bd13b82ab681b029e940b1e1 /drivers/s390/cio
parent47d30674d6c79197fa7bfb0d09d5857f61e0277b (diff)
s390/blacklist: Perform subchannel scan only when needed
Move scheduling of a subchannel scan to those instances where new devices may actually have become available. This reduces unnecessary scan work in case devices were added to the blacklist. Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r--drivers/s390/cio/blacklist.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/s390/cio/blacklist.c b/drivers/s390/cio/blacklist.c
index 77ee4daec206..b3f791b2c1f8 100644
--- a/drivers/s390/cio/blacklist.c
+++ b/drivers/s390/cio/blacklist.c
@@ -260,16 +260,16 @@ static int blacklist_parse_proc_parameters(char *buf)
260 260
261 parm = strsep(&buf, " "); 261 parm = strsep(&buf, " ");
262 262
263 if (strcmp("free", parm) == 0) 263 if (strcmp("free", parm) == 0) {
264 rc = blacklist_parse_parameters(buf, free, 0); 264 rc = blacklist_parse_parameters(buf, free, 0);
265 else if (strcmp("add", parm) == 0) 265 css_schedule_eval_all_unreg(0);
266 } else if (strcmp("add", parm) == 0)
266 rc = blacklist_parse_parameters(buf, add, 0); 267 rc = blacklist_parse_parameters(buf, add, 0);
267 else if (strcmp("purge", parm) == 0) 268 else if (strcmp("purge", parm) == 0)
268 return ccw_purge_blacklisted(); 269 return ccw_purge_blacklisted();
269 else 270 else
270 return -EINVAL; 271 return -EINVAL;
271 272
272 css_schedule_eval_all_unreg(0);
273 273
274 return rc; 274 return rc;
275} 275}