Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / char / hvsi.c
index f1f1192..a952218 100644 (file)
@@ -197,7 +197,7 @@ static inline void print_state(struct hvsi_struct *hp)
        };
        const char *name = state_names[hp->state];
 
-       if (hp->state > (sizeof(state_names)/sizeof(char*)))
+       if (hp->state > ARRAY_SIZE(state_names))
                name = "UNKNOWN";
 
        pr_debug("hvsi%i: state = %s\n", hp->index, name);
@@ -291,15 +291,13 @@ static void dump_packet(uint8_t *packet)
        dump_hex(packet, header->len);
 }
 
-/* can't use hvc_get_chars because that strips CRs */
 static int hvsi_read(struct hvsi_struct *hp, char *buf, int count)
 {
        unsigned long got;
 
-       if (plpar_hcall(H_GET_TERM_CHAR, hp->vtermno, 0, 0, 0, &got,
-                       (unsigned long *)buf, (unsigned long *)buf+1) == H_Success)
-               return got;
-       return 0;
+       got = hvc_get_chars(hp->vtermno, buf, count);
+
+       return got;
 }
 
 static void hvsi_recv_control(struct hvsi_struct *hp, uint8_t *packet,