MINOR: sock_raw: move calls to si_data_close upper

Some users of si_data_close() need to have the fd still open,
so we must move the call before fd_delete().
diff --git a/src/sock_raw.c b/src/sock_raw.c
index 1532e76..a50d77a 100644
--- a/src/sock_raw.c
+++ b/src/sock_raw.c
@@ -710,6 +710,7 @@
 		/* we may have to close a pending connection, and mark the
 		 * response buffer as shutr
 		 */
+		si_data_close(si);
 		fd_delete(si_fd(si));
 		/* fall through */
 	case SI_ST_CER:
@@ -717,7 +718,6 @@
 	case SI_ST_TAR:
 		si->state = SI_ST_DIS;
 
-		si_data_close(si);
 		if (si->release)
 			si->release(si);
 	default:
@@ -748,11 +748,11 @@
 		return;
 
 	if (si->ob->flags & BF_SHUTW) {
+		si_data_close(si);
 		fd_delete(si_fd(si));
 		si->state = SI_ST_DIS;
 		si->exp = TICK_ETERNITY;
 
-		si_data_close(si);
 		if (si->release)
 			si->release(si);
 		return;