From: Olaf Hering Correct the AIX magic check to let 'echo > /dev/sdb' actually work. Signed-off-by: Olaf Hering Cc: OGAWA Hirofumi Cc: Anton Blanchard Signed-off-by: Andrew Morton --- fs/partitions/msdos.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff -puN fs/partitions/msdos.c~msdos-partitions-fix-logic-error-in-aix-detection fs/partitions/msdos.c --- a/fs/partitions/msdos.c~msdos-partitions-fix-logic-error-in-aix-detection +++ a/fs/partitions/msdos.c @@ -68,10 +68,10 @@ static int aix_magic_present(unsigned ch unsigned char *d; int slot, ret = 0; - if (p[0] != AIX_LABEL_MAGIC1 && - p[1] != AIX_LABEL_MAGIC2 && - p[2] != AIX_LABEL_MAGIC3 && - p[3] != AIX_LABEL_MAGIC4) + if (!(p[0] == AIX_LABEL_MAGIC1 && + p[1] == AIX_LABEL_MAGIC2 && + p[2] == AIX_LABEL_MAGIC3 && + p[3] == AIX_LABEL_MAGIC4)) return 0; /* Assume the partition table is valid if Linux partitions exists */ for (slot = 1; slot <= 4; slot++, pt++) { _