Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3acb96f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull AMD EDAC update from Borislav Petkov:
 "Add MCE signatures for family 0x15, models 30-3f"

* tag 'edac_for_3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
  EDAC, MCE, AMD: Add an MCE signature for new Fam15h models
  EDAC: Replace strict_strtoul() with kstrtoul()
parents baa6f820 aad19e51
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ static ssize_t amd64_inject_section_store(struct device *dev,
	unsigned long value;
	int ret;

	ret = strict_strtoul(data, 10, &value);
	ret = kstrtoul(data, 10, &value);
	if (ret < 0)
		return ret;

@@ -61,7 +61,7 @@ static ssize_t amd64_inject_word_store(struct device *dev,
	unsigned long value;
	int ret;

	ret = strict_strtoul(data, 10, &value);
	ret = kstrtoul(data, 10, &value);
	if (ret < 0)
		return ret;

@@ -97,7 +97,7 @@ static ssize_t amd64_inject_ecc_vector_store(struct device *dev,
	unsigned long value;
	int ret;

	ret = strict_strtoul(data, 16, &value);
	ret = kstrtoul(data, 16, &value);
	if (ret < 0)
		return ret;

@@ -124,7 +124,7 @@ static ssize_t amd64_inject_read_store(struct device *dev,
	u32 section, word_bits;
	int ret;

	ret = strict_strtoul(data, 10, &value);
	ret = kstrtoul(data, 10, &value);
	if (ret < 0)
		return ret;

@@ -157,7 +157,7 @@ static ssize_t amd64_inject_write_store(struct device *dev,
	unsigned long value;
	int ret;

	ret = strict_strtoul(data, 10, &value);
	ret = kstrtoul(data, 10, &value);
	if (ret < 0)
		return ret;

+1 −1
Original line number Diff line number Diff line
@@ -678,7 +678,7 @@ static ssize_t mci_sdram_scrub_rate_store(struct device *dev,
	unsigned long bandwidth = 0;
	int new_bw = 0;

	if (strict_strtoul(data, 10, &bandwidth) < 0)
	if (kstrtoul(data, 10, &bandwidth) < 0)
		return -EINVAL;

	new_bw = mci->set_sdram_scrub_rate(mci, bandwidth);
+5 −5
Original line number Diff line number Diff line
@@ -704,7 +704,7 @@ static ssize_t i7core_inject_section_store(struct device *dev,
	if (pvt->inject.enable)
		disable_inject(mci);

	rc = strict_strtoul(data, 10, &value);
	rc = kstrtoul(data, 10, &value);
	if ((rc < 0) || (value > 3))
		return -EIO;

@@ -741,7 +741,7 @@ struct i7core_pvt *pvt = mci->pvt_info;
	if (pvt->inject.enable)
		disable_inject(mci);

	rc = strict_strtoul(data, 10, &value);
	rc = kstrtoul(data, 10, &value);
	if ((rc < 0) || (value > 7))
		return -EIO;

@@ -781,7 +781,7 @@ static ssize_t i7core_inject_eccmask_store(struct device *dev,
	if (pvt->inject.enable)
		disable_inject(mci);

	rc = strict_strtoul(data, 10, &value);
	rc = kstrtoul(data, 10, &value);
	if (rc < 0)
		return -EIO;

@@ -830,7 +830,7 @@ static ssize_t i7core_inject_store_##param( \
	if (!strcasecmp(data, "any") || !strcasecmp(data, "any\n"))\
		value = -1;					\
	else {							\
		rc = strict_strtoul(data, 10, &value);		\
		rc = kstrtoul(data, 10, &value);		\
		if ((rc < 0) || (value >= limit))		\
			return -EIO;				\
	}							\
@@ -934,7 +934,7 @@ static ssize_t i7core_inject_enable_store(struct device *dev,
	if (!pvt->pci_ch[pvt->inject.channel][0])
		return 0;

	rc = strict_strtoul(data, 10, &enable);
	rc = kstrtoul(data, 10, &enable);
	if ((rc < 0))
		return 0;

+3 −2
Original line number Diff line number Diff line
@@ -134,7 +134,8 @@ static const char * const mc5_mce_desc[] = {
	"Physical register file AG0 port",
	"Physical register file AG1 port",
	"Flag register file",
	"DE error occurred"
	"DE error occurred",
	"Retire status queue"
};

static bool f12h_mc0_mce(u16 ec, u8 xec)
@@ -624,7 +625,7 @@ static void decode_mc5_mce(struct mce *m)

	if (xec == 0x0 || xec == 0xc)
		pr_cont("%s.\n", mc5_mce_desc[xec]);
	else if (xec < 0xd)
	else if (xec <= 0xd)
		pr_cont("%s parity error.\n", mc5_mce_desc[xec]);
	else
		goto wrong_mc5_mce;
+2 −2
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ static ssize_t edac_inject_##reg##_store(struct kobject *kobj, \
	int ret = 0;							\
	unsigned long value;						\
									\
	ret = strict_strtoul(data, 16, &value);				\
	ret = kstrtoul(data, 16, &value);				\
	if (ret < 0)							\
		printk(KERN_ERR "Error writing MCE " #reg " field.\n");	\
									\
@@ -83,7 +83,7 @@ static ssize_t edac_inject_bank_store(struct kobject *kobj,
	int ret = 0;
	unsigned long value;

	ret = strict_strtoul(data, 10, &value);
	ret = kstrtoul(data, 10, &value);
	if (ret < 0) {
		printk(KERN_ERR "Invalid bank value!\n");
		return -EINVAL;