Prakash, Sathya wrote: > +static void > +mpt_get_manufacturing_pg_0(MPT_ADAPTER *ioc) > +{
> + > + memcpy(ioc->board_name, pbuf->BoardName, 16); > + memcpy(ioc->board_assembly, pbuf->BoardAssembly, 16); > + memcpy(ioc->board_tracer, pbuf->BoardTracerNumber, 16); Are these guaranteed to be NULL terminated? The code below appears to assume they are. Also you might want to use sizeof instead of hardcoding 16 here. > +static ssize_t > +mptscsih_version_driver_show(struct class_device *cdev, char *buf) > +{ > + return snprintf(buf, PAGE_SIZE, "%02d.%02d.%02d.%02d\n", > + MPT_LINUX_MAJOR_VERSION, MPT_LINUX_MINOR_VERSION, > + MPT_LINUX_BUILD_VERSION, MPT_LINUX_RELEASE_VERSION); > +} > +static CLASS_DEVICE_ATTR(version_driver, S_IRUGO, > mptscsih_version_driver_show, NULL); You should be using the MODULE_VERSION macro instead of this. This results in the version showing up in /sys/module/mpt_fusion/version > + > +static ssize_t > +mptscsih_io_delay_show(struct class_device *cdev, char *buf) > +{ > + struct Scsi_Host *host = class_to_shost(cdev); > + MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; > + MPT_ADAPTER *ioc = hd->ioc; > + char delay_str[30]; > + > + sprintf(delay_str, "%02d", ioc->io_missing_delay); > + return snprintf(buf, PAGE_SIZE, "%s\n", delay_str); > +} Why not just do: return snprintf(buf, PAGE_SIZE, "%02d", ioc->io_missing_delay); and get rid of the delay_str on the stack? In fact you have a lot of double sprintf's which seem like they could be just a single snprintf. -Brian -- Brian King Linux on Power Virtualization IBM Linux Technology Center - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html