diff options
Diffstat (limited to 'drivers/s390/char/raw3270.c')
-rw-r--r-- | drivers/s390/char/raw3270.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c index 8facd14adb7..743944ad61e 100644 --- a/drivers/s390/char/raw3270.c +++ b/drivers/s390/char/raw3270.c @@ -487,7 +487,7 @@ struct raw3270_ua { /* Query Reply structure for Usable Area */ } __attribute__ ((packed)); static struct diag210 raw3270_init_diag210; -static DECLARE_MUTEX(raw3270_init_sem); +static DEFINE_MUTEX(raw3270_init_mutex); static int raw3270_init_irq(struct raw3270_view *view, struct raw3270_request *rq, @@ -589,9 +589,10 @@ static int __raw3270_size_device_vm(struct raw3270 *rp) { int rc, model; + struct ccw_dev_id dev_id; - raw3270_init_diag210.vrdcdvno = - _ccw_device_get_device_number(rp->cdev); + ccw_device_get_id(rp->cdev, &dev_id); + raw3270_init_diag210.vrdcdvno = dev_id.devno; raw3270_init_diag210.vrdclen = sizeof(struct diag210); rc = diag210(&raw3270_init_diag210); if (rc) @@ -712,7 +713,7 @@ raw3270_size_device(struct raw3270 *rp) { int rc; - down(&raw3270_init_sem); + mutex_lock(&raw3270_init_mutex); rp->view = &raw3270_init_view; raw3270_init_view.dev = rp; if (MACHINE_IS_VM) @@ -721,7 +722,7 @@ raw3270_size_device(struct raw3270 *rp) rc = __raw3270_size_device(rp); raw3270_init_view.dev = NULL; rp->view = NULL; - up(&raw3270_init_sem); + mutex_unlock(&raw3270_init_mutex); if (rc == 0) { /* Found something. */ /* Try to find a model. */ rp->model = 0; @@ -748,7 +749,7 @@ raw3270_reset_device(struct raw3270 *rp) { int rc; - down(&raw3270_init_sem); + mutex_lock(&raw3270_init_mutex); memset(&rp->init_request, 0, sizeof(rp->init_request)); memset(&rp->init_data, 0, sizeof(rp->init_data)); /* Store reset data stream to init_data/init_request */ @@ -763,7 +764,7 @@ raw3270_reset_device(struct raw3270 *rp) rc = raw3270_start_init(rp, &raw3270_init_view, &rp->init_request); raw3270_init_view.dev = NULL; rp->view = NULL; - up(&raw3270_init_sem); + mutex_unlock(&raw3270_init_mutex); return rc; } |