Update hptnr(4) driver to version 1.0.1 supplied by the vendor.

v1.0.1 2014-8-19
  * Do not retry the command and reset the disk when failed to enable or
    disable spin up feature.
  * Fix up a bug that disk failed to probe if driver failed to access the
    10th LBA.
  * Fix a bug that request timeout but it has been completed in certain
    cases.
  * Support smartmontool for R750.

Many thanks to HighPoint for continued support of FreeBSD!

MFC after:	3 days
This commit is contained in:
Xin LI 2014-08-23 01:52:43 +00:00
parent ec1b564650
commit 090234abd3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=270384
6 changed files with 22430 additions and 22276 deletions

View File

@ -1,10 +1,19 @@
Rocket Controller Driver for FreeBSD
Copyright (C) 2013 HighPoint Technologies, Inc. All rights reserved.
Copyright (C) 2014 HighPoint Technologies, Inc. All rights reserved.
#############################################################################
Revision History:
v1.0.1 2014-8-19
* Do not retry the command and reset the disk when failed to enable or
disable spin up feature.
* Fix up a bug that disk failed to probe if driver failed to access the
10th LBA.
* Fix a bug that request timeout but it has been completed in certain
cases.
* Support smartmontool for R750.
v1.0 2013-7-3
First source code release
*First source code release
#############################################################################
@ -40,7 +49,7 @@ Revision History:
2) Extract the driver files under the kernel source tree:
# cd /usr/src/sys/
# tar xvzf /your/path/to/hptnr-freebsd-src-v1.0-130701.tgz
# tar xvzf /your/path/to/hptnr_freebsd_src_v1.0.1_14_08_19.tgz
3) Update the kernel configuration file to include the HighPoint source.
Assume the configure file is GENERIC, and new kernel configure file is

File diff suppressed because it is too large Load Diff

View File

@ -46,7 +46,7 @@ int init_config(void)
const char driver_name[] = "hptnr";
const char driver_name_long[] = "R750/DC7280 controller driver";
const char driver_ver[] = "v1.0";
const char driver_ver[] = "v1.0.1";
int osm_max_targets = 0xff;

View File

@ -270,21 +270,7 @@ int os_revalidate_device(void *osext, int id)
int os_query_remove_device(void *osext, int id)
{
PVBUS_EXT vbus_ext = (PVBUS_EXT)osext;
struct cam_periph *periph = NULL;
struct cam_path *path;
int status,retval = 0;
status = xpt_create_path(&path, NULL, vbus_ext->sim->path_id, id, 0);
if (status == CAM_REQ_CMP) {
if((periph = cam_periph_find(path, "da")) != NULL){
if(periph->refcount >= 1)
retval = -1;
}
xpt_free_path(path);
}
return retval;
return 0;
}
HPT_U8 os_get_vbus_seq(void *osext)

View File

@ -549,7 +549,7 @@ static void hpt_scsi_io(PVBUS_EXT vbus_ext, union ccb *ccb)
vd = ldm_find_target(vbus, ccb->ccb_h.target_id);
if (!vd) {
ccb->ccb_h.status = CAM_TID_INVALID;
ccb->ccb_h.status = CAM_SEL_TIMEOUT;
xpt_done(ccb);
return;
}

File diff suppressed because it is too large Load Diff