diff options
Diffstat (limited to 'drivers/s390/cio/chsc.c')
| -rw-r--r-- | drivers/s390/cio/chsc.c | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index 31ceef1beb8..e16c553f655 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c @@ -433,6 +433,20 @@ static void chsc_process_sei_scm_change(struct chsc_sei_nt0_area *sei_area)  			      " failed (rc=%d).\n", ret);  } +static void chsc_process_sei_scm_avail(struct chsc_sei_nt0_area *sei_area) +{ +	int ret; + +	CIO_CRW_EVENT(4, "chsc: scm available information\n"); +	if (sei_area->rs != 7) +		return; + +	ret = scm_process_availability_information(); +	if (ret) +		CIO_CRW_EVENT(0, "chsc: process availability information" +			      " failed (rc=%d).\n", ret); +} +  static void chsc_process_sei_nt2(struct chsc_sei_nt2_area *sei_area)  {  	switch (sei_area->cc) { @@ -468,6 +482,9 @@ static void chsc_process_sei_nt0(struct chsc_sei_nt0_area *sei_area)  	case 12: /* scm change notification */  		chsc_process_sei_scm_change(sei_area);  		break; +	case 14: /* scm available notification */ +		chsc_process_sei_scm_avail(sei_area); +		break;  	default: /* other stuff */  		CIO_CRW_EVENT(2, "chsc: sei nt0 unhandled cc=%d\n",  			      sei_area->cc); |