Commit cc1807b9 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 's390-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 updates from Alexander Gordeev:

 - Fix a KVM crash on z12 and older machines caused by a wrong
   assumption that Query AP Configuration Information is always
   available.

 - Lower severity of excessive Hypervisor filesystem error messages
   when booting under KVM.

* tag 's390-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/ap: fix crash on older machines based on QCI info missing
  s390/hypfs: avoid error message under KVM
parents 32dd68f1 0fef40be
...@@ -437,7 +437,7 @@ __init int hypfs_diag_init(void) ...@@ -437,7 +437,7 @@ __init int hypfs_diag_init(void)
int rc; int rc;
if (diag204_probe()) { if (diag204_probe()) {
pr_err("The hardware system does not support hypfs\n"); pr_info("The hardware system does not support hypfs\n");
return -ENODATA; return -ENODATA;
} }
......
...@@ -496,9 +496,9 @@ static int __init hypfs_init(void) ...@@ -496,9 +496,9 @@ static int __init hypfs_init(void)
hypfs_vm_exit(); hypfs_vm_exit();
fail_hypfs_diag_exit: fail_hypfs_diag_exit:
hypfs_diag_exit(); hypfs_diag_exit();
pr_err("Initialization of hypfs failed with rc=%i\n", rc);
fail_dbfs_exit: fail_dbfs_exit:
hypfs_dbfs_exit(); hypfs_dbfs_exit();
pr_err("Initialization of hypfs failed with rc=%i\n", rc);
return rc; return rc;
} }
device_initcall(hypfs_init) device_initcall(hypfs_init)
...@@ -2086,6 +2086,9 @@ static inline void ap_scan_adapter(int ap) ...@@ -2086,6 +2086,9 @@ static inline void ap_scan_adapter(int ap)
*/ */
static bool ap_get_configuration(void) static bool ap_get_configuration(void)
{ {
if (!ap_qci_info) /* QCI not supported */
return false;
memcpy(ap_qci_info_old, ap_qci_info, sizeof(*ap_qci_info)); memcpy(ap_qci_info_old, ap_qci_info, sizeof(*ap_qci_info));
ap_fetch_qci_info(ap_qci_info); ap_fetch_qci_info(ap_qci_info);
......
...@@ -148,12 +148,16 @@ struct ap_driver { ...@@ -148,12 +148,16 @@ struct ap_driver {
/* /*
* Called at the start of the ap bus scan function when * Called at the start of the ap bus scan function when
* the crypto config information (qci) has changed. * the crypto config information (qci) has changed.
* This callback is not invoked if there is no AP
* QCI support available.
*/ */
void (*on_config_changed)(struct ap_config_info *new_config_info, void (*on_config_changed)(struct ap_config_info *new_config_info,
struct ap_config_info *old_config_info); struct ap_config_info *old_config_info);
/* /*
* Called at the end of the ap bus scan function when * Called at the end of the ap bus scan function when
* the crypto config information (qci) has changed. * the crypto config information (qci) has changed.
* This callback is not invoked if there is no AP
* QCI support available.
*/ */
void (*on_scan_complete)(struct ap_config_info *new_config_info, void (*on_scan_complete)(struct ap_config_info *new_config_info,
struct ap_config_info *old_config_info); struct ap_config_info *old_config_info);
......
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