scsi_ses.c fixes

Matthew Jacob mj at feral.com
Wed Feb 20 19:30:01 UTC 2008


I guess nobody uses SES that much. Instant panics here.

Index: scsi_ses.c
===================================================================
RCS file: /home/ncvs/src/sys/cam/scsi/scsi_ses.c,v
retrieving revision 1.35
diff -u -r1.35 scsi_ses.c
--- scsi_ses.c	16 May 2007 16:54:23 -0000	1.35
+++ scsi_ses.c	20 Feb 2008 19:08:33 -0000
@@ -516,7 +516,7 @@
  		cam_periph_unlock(periph);
  		return (ENXIO);
  	}
-	cam_periph_lock(periph);
+	cam_periph_unlock(periph);

  	error = 0;

@@ -555,14 +555,14 @@
  			obj.obj_id = i;
  			obj.subencid = ssc->ses_objmap[i].subenclosure;
  			obj.object_type = ssc->ses_objmap[i].enctype;
-			cam_periph_lock(periph);
+			cam_periph_unlock(periph);
  			error = copyout(&obj, uobj, sizeof (ses_object));
  			cam_periph_lock(periph);
  			if (error) {
  				break;
  			}
  		}
-		cam_periph_lock(periph);
+		cam_periph_unlock(periph);
  		break;

  	case SESIOC_GETENCSTAT:


More information about the freebsd-scsi mailing list