Prechádzať zdrojové kódy

ehea: Fix memory hotplug handling

Added missing set_bit() to disable data transfer when a memchange
notification is handled

Signed-off-by: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Klein 16 rokov pred
rodič
commit
3876732c12
2 zmenil súbory, kde vykonal 3 pridanie a 1 odobranie
  1. 1 1
      drivers/net/ehea/ehea.h
  2. 2 0
      drivers/net/ehea/ehea_main.c

+ 1 - 1
drivers/net/ehea/ehea.h

@@ -40,7 +40,7 @@
 #include <asm/io.h>
 #include <asm/io.h>
 
 
 #define DRV_NAME	"ehea"
 #define DRV_NAME	"ehea"
-#define DRV_VERSION	"EHEA_0098"
+#define DRV_VERSION	"EHEA_0099"
 
 
 /* eHEA capability flags */
 /* eHEA capability flags */
 #define DLPAR_PORT_ADD_REM 1
 #define DLPAR_PORT_ADD_REM 1

+ 2 - 0
drivers/net/ehea/ehea_main.c

@@ -3517,12 +3517,14 @@ static int ehea_mem_notifier(struct notifier_block *nb,
 		/* Readd canceled memory block */
 		/* Readd canceled memory block */
 	case MEM_ONLINE:
 	case MEM_ONLINE:
 		ehea_info("memory is going online");
 		ehea_info("memory is going online");
+		set_bit(__EHEA_STOP_XFER, &ehea_driver_flags);
 		if (ehea_add_sect_bmap(arg->start_pfn, arg->nr_pages))
 		if (ehea_add_sect_bmap(arg->start_pfn, arg->nr_pages))
 			return NOTIFY_BAD;
 			return NOTIFY_BAD;
 		ehea_rereg_mrs(NULL);
 		ehea_rereg_mrs(NULL);
 		break;
 		break;
 	case MEM_GOING_OFFLINE:
 	case MEM_GOING_OFFLINE:
 		ehea_info("memory is going offline");
 		ehea_info("memory is going offline");
+		set_bit(__EHEA_STOP_XFER, &ehea_driver_flags);
 		if (ehea_rem_sect_bmap(arg->start_pfn, arg->nr_pages))
 		if (ehea_rem_sect_bmap(arg->start_pfn, arg->nr_pages))
 			return NOTIFY_BAD;
 			return NOTIFY_BAD;
 		ehea_rereg_mrs(NULL);
 		ehea_rereg_mrs(NULL);