--- embedaddon/smartmontools/os_freebsd.cpp 2013/07/22 01:17:35 1.1.1.3 +++ embedaddon/smartmontools/os_freebsd.cpp 2013/10/14 07:54:03 1.1.1.4 @@ -75,7 +75,7 @@ #define PATHINQ_SETTINGS_SIZE 128 #endif -const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.1.1.3 2013/07/22 01:17:35 misho Exp $" \ +const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.1.1.4 2013/10/14 07:54:03 misho Exp $" \ ATACMDS_H_CVSID CCISS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_FREEBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; #define NO_RETURN 0 @@ -1827,6 +1827,11 @@ smart_device * freebsd_smart_interface::autodetect_sma for (i = 0; i < (int)scsinames.size(); i++) { if(strcmp(scsinames[i].c_str(), test_name)==0) { // our disk device is CAM + if(strncmp(scsinames[i].c_str(), "/dev/pmp", strlen("/dev/pmp")) == 0) { + pout("Skipping port multiplier [%s]\n", scsinames[i].c_str()); + set_err(EINVAL); + return 0; + } if ((cam_dev = cam_open_device(test_name, O_RDWR)) == NULL) { // open failure set_err(errno); @@ -1923,7 +1928,7 @@ smart_device * freebsd_smart_interface::get_custom_sma set_err(EINVAL, "Option '-d hpt,L/M/N' invalid controller id L supplied"); return 0; } - if (!(1 <= channel && channel <= 16)) { + if (!(1 <= channel && channel <= 128)) { set_err(EINVAL, "Option '-d hpt,L/M/N' invalid channel number M supplied"); return 0; }