The patch titled

     s390: disconnected 3270 console

has been added to the -mm tree.  Its filename is

     s390-disconnected-3270-console.patch

Patches currently in -mm which might be from [EMAIL PROTECTED] are

s390-machine-check-handler-bugs.patch
s390-debug-feature-changes.patch
s390-deadlock-in-dasd_devmap.patch
s390-64-bit-diag250-support.patch
s390-reipl-fix-and-extern-static-inline.patch
s390-pfault-interrupt-race.patch
s390-crypto-driver-update.patch
s390-compat-system-calls.patch
s390-spinlock-corner-case.patch
s390-disconnected-3270-console.patch



From: Martin Schwidefsky <[EMAIL PROTECTED]>

Fix reboot with a disconnected 3270 console.

Signed-off-by: Martin Schwidefsky <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/s390/char/raw3270.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff -puN drivers/s390/char/raw3270.c~s390-disconnected-3270-console 
drivers/s390/char/raw3270.c
--- devel/drivers/s390/char/raw3270.c~s390-disconnected-3270-console    
2005-08-29 23:58:39.000000000 -0700
+++ devel-akpm/drivers/s390/char/raw3270.c      2005-08-29 23:58:39.000000000 
-0700
@@ -632,12 +632,9 @@ __raw3270_size_device(struct raw3270 *rp
        raw3270_init_request.ccw.cda = (__u32) __pa(raw3270_init_data);
 
        rc = raw3270_start_init(rp, &raw3270_init_view, &raw3270_init_request);
-       if (rc) {
+       if (rc)
                /* Check error cases: -ERESTARTSYS, -EIO and -EOPNOTSUPP */
-               if (rc == -EOPNOTSUPP && MACHINE_IS_VM)
-                       return __raw3270_size_device_vm(rp);
                return rc;
-       }
 
        /* Wait for attention interrupt. */
 #ifdef CONFIG_TN3270_CONSOLE
@@ -695,7 +692,10 @@ raw3270_size_device(struct raw3270 *rp)
        down(&raw3270_init_sem);
        rp->view = &raw3270_init_view;
        raw3270_init_view.dev = rp;
-       rc = __raw3270_size_device(rp);
+       if (MACHINE_IS_VM)
+               rc = __raw3270_size_device_vm(rp);
+       else
+               rc = __raw3270_size_device(rp);
        raw3270_init_view.dev = 0;
        rp->view = 0;
        up(&raw3270_init_sem);
@@ -710,6 +710,12 @@ raw3270_size_device(struct raw3270 *rp)
                        rp->model = 4;
                if (rp->rows == 27 && rp->cols == 132)
                        rp->model = 5;
+       } else {
+               /* Couldn't detect size. Use default model 2. */
+               rp->model = 2;
+               rp->rows = 24;
+               rp->cols = 80;
+               return 0;
        }
        return rc;
 }
_
-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to