Commit ad3d1abb authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Martin Schwidefsky:
 "Two late bug fixes for kernel 4.4.

  Merry Christmas"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/dis: Fix handling of format specifiers
  s390/zcrypt: Fix AP queue handling if queue is full
parents ea828131 272fa59c
...@@ -1920,16 +1920,23 @@ static int print_insn(char *buffer, unsigned char *code, unsigned long addr) ...@@ -1920,16 +1920,23 @@ static int print_insn(char *buffer, unsigned char *code, unsigned long addr)
} }
if (separator) if (separator)
ptr += sprintf(ptr, "%c", separator); ptr += sprintf(ptr, "%c", separator);
/*
* Use four '%' characters below because of the
* following two conversions:
*
* 1) sprintf: %%%%r -> %%r
* 2) printk : %%r -> %r
*/
if (operand->flags & OPERAND_GPR) if (operand->flags & OPERAND_GPR)
ptr += sprintf(ptr, "%%r%i", value); ptr += sprintf(ptr, "%%%%r%i", value);
else if (operand->flags & OPERAND_FPR) else if (operand->flags & OPERAND_FPR)
ptr += sprintf(ptr, "%%f%i", value); ptr += sprintf(ptr, "%%%%f%i", value);
else if (operand->flags & OPERAND_AR) else if (operand->flags & OPERAND_AR)
ptr += sprintf(ptr, "%%a%i", value); ptr += sprintf(ptr, "%%%%a%i", value);
else if (operand->flags & OPERAND_CR) else if (operand->flags & OPERAND_CR)
ptr += sprintf(ptr, "%%c%i", value); ptr += sprintf(ptr, "%%%%c%i", value);
else if (operand->flags & OPERAND_VR) else if (operand->flags & OPERAND_VR)
ptr += sprintf(ptr, "%%v%i", value); ptr += sprintf(ptr, "%%%%v%i", value);
else if (operand->flags & OPERAND_PCREL) else if (operand->flags & OPERAND_PCREL)
ptr += sprintf(ptr, "%lx", (signed int) value ptr += sprintf(ptr, "%lx", (signed int) value
+ addr); + addr);
......
...@@ -599,8 +599,10 @@ static enum ap_wait ap_sm_read(struct ap_device *ap_dev) ...@@ -599,8 +599,10 @@ static enum ap_wait ap_sm_read(struct ap_device *ap_dev)
status = ap_sm_recv(ap_dev); status = ap_sm_recv(ap_dev);
switch (status.response_code) { switch (status.response_code) {
case AP_RESPONSE_NORMAL: case AP_RESPONSE_NORMAL:
if (ap_dev->queue_count > 0) if (ap_dev->queue_count > 0) {
ap_dev->state = AP_STATE_WORKING;
return AP_WAIT_AGAIN; return AP_WAIT_AGAIN;
}
ap_dev->state = AP_STATE_IDLE; ap_dev->state = AP_STATE_IDLE;
return AP_WAIT_NONE; return AP_WAIT_NONE;
case AP_RESPONSE_NO_PENDING_REPLY: case AP_RESPONSE_NO_PENDING_REPLY:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment