Module Name: src
Committed By: phx
Date: Fri Sep 18 21:30:02 UTC 2015
Modified Files:
src/sys/dev/nor: cfi.c
Log Message:
Size of erase block is 128 bytes when sector density (z) is zero.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/nor/cfi.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/nor/cfi.c
diff -u src/sys/dev/nor/cfi.c:1.7 src/sys/dev/nor/cfi.c:1.8
--- src/sys/dev/nor/cfi.c:1.7 Sat Dec 17 19:42:41 2011
+++ src/sys/dev/nor/cfi.c Fri Sep 18 21:30:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: cfi.c,v 1.7 2011/12/17 19:42:41 phx Exp $ */
+/* $NetBSD: cfi.c,v 1.8 2015/09/18 21:30:02 phx Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -33,7 +33,7 @@
#include "opt_cfi.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cfi.c,v 1.7 2011/12/17 19:42:41 phx Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cfi.c,v 1.8 2015/09/18 21:30:02 phx Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -476,7 +476,8 @@ cfi_scan_media(device_t self, struct nor
*/
chip->nc_num_luns = 1;
chip->nc_lun_blocks = cfi->cfi_qry_data.erase_blk_info[0].y + 1;
- chip->nc_block_size = cfi->cfi_qry_data.erase_blk_info[0].z * 256;
+ chip->nc_block_size = cfi->cfi_qry_data.erase_blk_info[0].z ?
+ cfi->cfi_qry_data.erase_blk_info[0].z * 256 : 128;
switch (cfi->cfi_qry_data.id_pri) {
case 0x0002:
@@ -880,7 +881,8 @@ cfi_print(device_t self, struct cfi * co
aprint_normal_dev(self, "%d Erase Block Region(s)\n",
qryp->erase_blk_regions);
for (u_int r=0; r < qryp->erase_blk_regions; r++) {
- size_t sz = qryp->erase_blk_info[r].z * 256;
+ size_t sz = qryp->erase_blk_info[r].z ?
+ qryp->erase_blk_info[r].z * 256 : 128;
format_bytes(pbuf, sizeof(pbuf), sz);
aprint_normal(" %d: %d blocks, size %s\n", r,
qryp->erase_blk_info[r].y + 1, pbuf);