diff options
Diffstat (limited to 'fs/cifs/transport.c')
-rw-r--r-- | fs/cifs/transport.c | 92 |
1 files changed, 45 insertions, 47 deletions
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index ad081fe7eb18..82f78c4d6978 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c | |||
@@ -35,7 +35,6 @@ | |||
35 | #include "cifs_debug.h" | 35 | #include "cifs_debug.h" |
36 | 36 | ||
37 | extern mempool_t *cifs_mid_poolp; | 37 | extern mempool_t *cifs_mid_poolp; |
38 | extern struct kmem_cache *cifs_oplock_cachep; | ||
39 | 38 | ||
40 | static struct mid_q_entry * | 39 | static struct mid_q_entry * |
41 | AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server) | 40 | AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server) |
@@ -43,7 +42,7 @@ AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server) | |||
43 | struct mid_q_entry *temp; | 42 | struct mid_q_entry *temp; |
44 | 43 | ||
45 | if (server == NULL) { | 44 | if (server == NULL) { |
46 | cERROR(1, ("Null TCP session in AllocMidQEntry")); | 45 | cERROR(1, "Null TCP session in AllocMidQEntry"); |
47 | return NULL; | 46 | return NULL; |
48 | } | 47 | } |
49 | 48 | ||
@@ -55,7 +54,7 @@ AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server) | |||
55 | temp->mid = smb_buffer->Mid; /* always LE */ | 54 | temp->mid = smb_buffer->Mid; /* always LE */ |
56 | temp->pid = current->pid; | 55 | temp->pid = current->pid; |
57 | temp->command = smb_buffer->Command; | 56 | temp->command = smb_buffer->Command; |
58 | cFYI(1, ("For smb_command %d", temp->command)); | 57 | cFYI(1, "For smb_command %d", temp->command); |
59 | /* do_gettimeofday(&temp->when_sent);*/ /* easier to use jiffies */ | 58 | /* do_gettimeofday(&temp->when_sent);*/ /* easier to use jiffies */ |
60 | /* when mid allocated can be before when sent */ | 59 | /* when mid allocated can be before when sent */ |
61 | temp->when_alloc = jiffies; | 60 | temp->when_alloc = jiffies; |
@@ -140,7 +139,7 @@ smb_sendv(struct TCP_Server_Info *server, struct kvec *iov, int n_vec) | |||
140 | total_len += iov[i].iov_len; | 139 | total_len += iov[i].iov_len; |
141 | 140 | ||
142 | smb_buffer->smb_buf_length = cpu_to_be32(smb_buffer->smb_buf_length); | 141 | smb_buffer->smb_buf_length = cpu_to_be32(smb_buffer->smb_buf_length); |
143 | cFYI(1, ("Sending smb: total_len %d", total_len)); | 142 | cFYI(1, "Sending smb: total_len %d", total_len); |
144 | dump_smb(smb_buffer, len); | 143 | dump_smb(smb_buffer, len); |
145 | 144 | ||
146 | i = 0; | 145 | i = 0; |
@@ -168,9 +167,8 @@ smb_sendv(struct TCP_Server_Info *server, struct kvec *iov, int n_vec) | |||
168 | reconnect which may clear the network problem. | 167 | reconnect which may clear the network problem. |
169 | */ | 168 | */ |
170 | if ((i >= 14) || (!server->noblocksnd && (i > 2))) { | 169 | if ((i >= 14) || (!server->noblocksnd && (i > 2))) { |
171 | cERROR(1, | 170 | cERROR(1, "sends on sock %p stuck for 15 seconds", |
172 | ("sends on sock %p stuck for 15 seconds", | 171 | ssocket); |
173 | ssocket)); | ||
174 | rc = -EAGAIN; | 172 | rc = -EAGAIN; |
175 | break; | 173 | break; |
176 | } | 174 | } |
@@ -184,13 +182,13 @@ smb_sendv(struct TCP_Server_Info *server, struct kvec *iov, int n_vec) | |||
184 | total_len = 0; | 182 | total_len = 0; |
185 | break; | 183 | break; |
186 | } else if (rc > total_len) { | 184 | } else if (rc > total_len) { |
187 | cERROR(1, ("sent %d requested %d", rc, total_len)); | 185 | cERROR(1, "sent %d requested %d", rc, total_len); |
188 | break; | 186 | break; |
189 | } | 187 | } |
190 | if (rc == 0) { | 188 | if (rc == 0) { |
191 | /* should never happen, letting socket clear before | 189 | /* should never happen, letting socket clear before |
192 | retrying is our only obvious option here */ | 190 | retrying is our only obvious option here */ |
193 | cERROR(1, ("tcp sent no data")); | 191 | cERROR(1, "tcp sent no data"); |
194 | msleep(500); | 192 | msleep(500); |
195 | continue; | 193 | continue; |
196 | } | 194 | } |
@@ -213,8 +211,8 @@ smb_sendv(struct TCP_Server_Info *server, struct kvec *iov, int n_vec) | |||
213 | } | 211 | } |
214 | 212 | ||
215 | if ((total_len > 0) && (total_len != smb_buf_length + 4)) { | 213 | if ((total_len > 0) && (total_len != smb_buf_length + 4)) { |
216 | cFYI(1, ("partial send (%d remaining), terminating session", | 214 | cFYI(1, "partial send (%d remaining), terminating session", |
217 | total_len)); | 215 | total_len); |
218 | /* If we have only sent part of an SMB then the next SMB | 216 | /* If we have only sent part of an SMB then the next SMB |
219 | could be taken as the remainder of this one. We need | 217 | could be taken as the remainder of this one. We need |
220 | to kill the socket so the server throws away the partial | 218 | to kill the socket so the server throws away the partial |
@@ -223,7 +221,7 @@ smb_sendv(struct TCP_Server_Info *server, struct kvec *iov, int n_vec) | |||
223 | } | 221 | } |
224 | 222 | ||
225 | if (rc < 0) { | 223 | if (rc < 0) { |
226 | cERROR(1, ("Error %d sending data on socket to server", rc)); | 224 | cERROR(1, "Error %d sending data on socket to server", rc); |
227 | } else | 225 | } else |
228 | rc = 0; | 226 | rc = 0; |
229 | 227 | ||
@@ -296,7 +294,7 @@ static int allocate_mid(struct cifsSesInfo *ses, struct smb_hdr *in_buf, | |||
296 | } | 294 | } |
297 | 295 | ||
298 | if (ses->server->tcpStatus == CifsNeedReconnect) { | 296 | if (ses->server->tcpStatus == CifsNeedReconnect) { |
299 | cFYI(1, ("tcp session dead - return to caller to retry")); | 297 | cFYI(1, "tcp session dead - return to caller to retry"); |
300 | return -EAGAIN; | 298 | return -EAGAIN; |
301 | } | 299 | } |
302 | 300 | ||
@@ -348,7 +346,7 @@ static int wait_for_response(struct cifsSesInfo *ses, | |||
348 | lrt += time_to_wait; | 346 | lrt += time_to_wait; |
349 | if (time_after(jiffies, lrt)) { | 347 | if (time_after(jiffies, lrt)) { |
350 | /* No replies for time_to_wait. */ | 348 | /* No replies for time_to_wait. */ |
351 | cERROR(1, ("server not responding")); | 349 | cERROR(1, "server not responding"); |
352 | return -1; | 350 | return -1; |
353 | } | 351 | } |
354 | } else { | 352 | } else { |
@@ -379,7 +377,7 @@ SendReceiveNoRsp(const unsigned int xid, struct cifsSesInfo *ses, | |||
379 | iov[0].iov_len = in_buf->smb_buf_length + 4; | 377 | iov[0].iov_len = in_buf->smb_buf_length + 4; |
380 | flags |= CIFS_NO_RESP; | 378 | flags |= CIFS_NO_RESP; |
381 | rc = SendReceive2(xid, ses, iov, 1, &resp_buf_type, flags); | 379 | rc = SendReceive2(xid, ses, iov, 1, &resp_buf_type, flags); |
382 | cFYI(DBG2, ("SendRcvNoRsp flags %d rc %d", flags, rc)); | 380 | cFYI(DBG2, "SendRcvNoRsp flags %d rc %d", flags, rc); |
383 | 381 | ||
384 | return rc; | 382 | return rc; |
385 | } | 383 | } |
@@ -402,7 +400,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
402 | 400 | ||
403 | if ((ses == NULL) || (ses->server == NULL)) { | 401 | if ((ses == NULL) || (ses->server == NULL)) { |
404 | cifs_small_buf_release(in_buf); | 402 | cifs_small_buf_release(in_buf); |
405 | cERROR(1, ("Null session")); | 403 | cERROR(1, "Null session"); |
406 | return -EIO; | 404 | return -EIO; |
407 | } | 405 | } |
408 | 406 | ||
@@ -471,7 +469,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
471 | else if (long_op == CIFS_BLOCKING_OP) | 469 | else if (long_op == CIFS_BLOCKING_OP) |
472 | timeout = 0x7FFFFFFF; /* large, but not so large as to wrap */ | 470 | timeout = 0x7FFFFFFF; /* large, but not so large as to wrap */ |
473 | else { | 471 | else { |
474 | cERROR(1, ("unknown timeout flag %d", long_op)); | 472 | cERROR(1, "unknown timeout flag %d", long_op); |
475 | rc = -EIO; | 473 | rc = -EIO; |
476 | goto out; | 474 | goto out; |
477 | } | 475 | } |
@@ -490,8 +488,8 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
490 | spin_lock(&GlobalMid_Lock); | 488 | spin_lock(&GlobalMid_Lock); |
491 | 489 | ||
492 | if (midQ->resp_buf == NULL) { | 490 | if (midQ->resp_buf == NULL) { |
493 | cERROR(1, ("No response to cmd %d mid %d", | 491 | cERROR(1, "No response to cmd %d mid %d", |
494 | midQ->command, midQ->mid)); | 492 | midQ->command, midQ->mid); |
495 | if (midQ->midState == MID_REQUEST_SUBMITTED) { | 493 | if (midQ->midState == MID_REQUEST_SUBMITTED) { |
496 | if (ses->server->tcpStatus == CifsExiting) | 494 | if (ses->server->tcpStatus == CifsExiting) |
497 | rc = -EHOSTDOWN; | 495 | rc = -EHOSTDOWN; |
@@ -504,7 +502,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
504 | if (rc != -EHOSTDOWN) { | 502 | if (rc != -EHOSTDOWN) { |
505 | if (midQ->midState == MID_RETRY_NEEDED) { | 503 | if (midQ->midState == MID_RETRY_NEEDED) { |
506 | rc = -EAGAIN; | 504 | rc = -EAGAIN; |
507 | cFYI(1, ("marking request for retry")); | 505 | cFYI(1, "marking request for retry"); |
508 | } else { | 506 | } else { |
509 | rc = -EIO; | 507 | rc = -EIO; |
510 | } | 508 | } |
@@ -521,8 +519,8 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
521 | receive_len = midQ->resp_buf->smb_buf_length; | 519 | receive_len = midQ->resp_buf->smb_buf_length; |
522 | 520 | ||
523 | if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) { | 521 | if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) { |
524 | cERROR(1, ("Frame too large received. Length: %d Xid: %d", | 522 | cERROR(1, "Frame too large received. Length: %d Xid: %d", |
525 | receive_len, xid)); | 523 | receive_len, xid); |
526 | rc = -EIO; | 524 | rc = -EIO; |
527 | goto out; | 525 | goto out; |
528 | } | 526 | } |
@@ -548,7 +546,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
548 | &ses->server->mac_signing_key, | 546 | &ses->server->mac_signing_key, |
549 | midQ->sequence_number+1); | 547 | midQ->sequence_number+1); |
550 | if (rc) { | 548 | if (rc) { |
551 | cERROR(1, ("Unexpected SMB signature")); | 549 | cERROR(1, "Unexpected SMB signature"); |
552 | /* BB FIXME add code to kill session */ | 550 | /* BB FIXME add code to kill session */ |
553 | } | 551 | } |
554 | } | 552 | } |
@@ -569,7 +567,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
569 | DeleteMidQEntry */ | 567 | DeleteMidQEntry */ |
570 | } else { | 568 | } else { |
571 | rc = -EIO; | 569 | rc = -EIO; |
572 | cFYI(1, ("Bad MID state?")); | 570 | cFYI(1, "Bad MID state?"); |
573 | } | 571 | } |
574 | 572 | ||
575 | out: | 573 | out: |
@@ -591,11 +589,11 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
591 | struct mid_q_entry *midQ; | 589 | struct mid_q_entry *midQ; |
592 | 590 | ||
593 | if (ses == NULL) { | 591 | if (ses == NULL) { |
594 | cERROR(1, ("Null smb session")); | 592 | cERROR(1, "Null smb session"); |
595 | return -EIO; | 593 | return -EIO; |
596 | } | 594 | } |
597 | if (ses->server == NULL) { | 595 | if (ses->server == NULL) { |
598 | cERROR(1, ("Null tcp session")); | 596 | cERROR(1, "Null tcp session"); |
599 | return -EIO; | 597 | return -EIO; |
600 | } | 598 | } |
601 | 599 | ||
@@ -607,8 +605,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
607 | use ses->maxReq */ | 605 | use ses->maxReq */ |
608 | 606 | ||
609 | if (in_buf->smb_buf_length > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE - 4) { | 607 | if (in_buf->smb_buf_length > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE - 4) { |
610 | cERROR(1, ("Illegal length, greater than maximum frame, %d", | 608 | cERROR(1, "Illegal length, greater than maximum frame, %d", |
611 | in_buf->smb_buf_length)); | 609 | in_buf->smb_buf_length); |
612 | return -EIO; | 610 | return -EIO; |
613 | } | 611 | } |
614 | 612 | ||
@@ -665,7 +663,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
665 | else if (long_op == CIFS_BLOCKING_OP) | 663 | else if (long_op == CIFS_BLOCKING_OP) |
666 | timeout = 0x7FFFFFFF; /* large but no so large as to wrap */ | 664 | timeout = 0x7FFFFFFF; /* large but no so large as to wrap */ |
667 | else { | 665 | else { |
668 | cERROR(1, ("unknown timeout flag %d", long_op)); | 666 | cERROR(1, "unknown timeout flag %d", long_op); |
669 | rc = -EIO; | 667 | rc = -EIO; |
670 | goto out; | 668 | goto out; |
671 | } | 669 | } |
@@ -681,8 +679,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
681 | 679 | ||
682 | spin_lock(&GlobalMid_Lock); | 680 | spin_lock(&GlobalMid_Lock); |
683 | if (midQ->resp_buf == NULL) { | 681 | if (midQ->resp_buf == NULL) { |
684 | cERROR(1, ("No response for cmd %d mid %d", | 682 | cERROR(1, "No response for cmd %d mid %d", |
685 | midQ->command, midQ->mid)); | 683 | midQ->command, midQ->mid); |
686 | if (midQ->midState == MID_REQUEST_SUBMITTED) { | 684 | if (midQ->midState == MID_REQUEST_SUBMITTED) { |
687 | if (ses->server->tcpStatus == CifsExiting) | 685 | if (ses->server->tcpStatus == CifsExiting) |
688 | rc = -EHOSTDOWN; | 686 | rc = -EHOSTDOWN; |
@@ -695,7 +693,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
695 | if (rc != -EHOSTDOWN) { | 693 | if (rc != -EHOSTDOWN) { |
696 | if (midQ->midState == MID_RETRY_NEEDED) { | 694 | if (midQ->midState == MID_RETRY_NEEDED) { |
697 | rc = -EAGAIN; | 695 | rc = -EAGAIN; |
698 | cFYI(1, ("marking request for retry")); | 696 | cFYI(1, "marking request for retry"); |
699 | } else { | 697 | } else { |
700 | rc = -EIO; | 698 | rc = -EIO; |
701 | } | 699 | } |
@@ -712,8 +710,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
712 | receive_len = midQ->resp_buf->smb_buf_length; | 710 | receive_len = midQ->resp_buf->smb_buf_length; |
713 | 711 | ||
714 | if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) { | 712 | if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) { |
715 | cERROR(1, ("Frame too large received. Length: %d Xid: %d", | 713 | cERROR(1, "Frame too large received. Length: %d Xid: %d", |
716 | receive_len, xid)); | 714 | receive_len, xid); |
717 | rc = -EIO; | 715 | rc = -EIO; |
718 | goto out; | 716 | goto out; |
719 | } | 717 | } |
@@ -736,7 +734,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
736 | &ses->server->mac_signing_key, | 734 | &ses->server->mac_signing_key, |
737 | midQ->sequence_number+1); | 735 | midQ->sequence_number+1); |
738 | if (rc) { | 736 | if (rc) { |
739 | cERROR(1, ("Unexpected SMB signature")); | 737 | cERROR(1, "Unexpected SMB signature"); |
740 | /* BB FIXME add code to kill session */ | 738 | /* BB FIXME add code to kill session */ |
741 | } | 739 | } |
742 | } | 740 | } |
@@ -753,7 +751,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
753 | BCC(out_buf) = le16_to_cpu(BCC_LE(out_buf)); | 751 | BCC(out_buf) = le16_to_cpu(BCC_LE(out_buf)); |
754 | } else { | 752 | } else { |
755 | rc = -EIO; | 753 | rc = -EIO; |
756 | cERROR(1, ("Bad MID state?")); | 754 | cERROR(1, "Bad MID state?"); |
757 | } | 755 | } |
758 | 756 | ||
759 | out: | 757 | out: |
@@ -824,13 +822,13 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
824 | struct cifsSesInfo *ses; | 822 | struct cifsSesInfo *ses; |
825 | 823 | ||
826 | if (tcon == NULL || tcon->ses == NULL) { | 824 | if (tcon == NULL || tcon->ses == NULL) { |
827 | cERROR(1, ("Null smb session")); | 825 | cERROR(1, "Null smb session"); |
828 | return -EIO; | 826 | return -EIO; |
829 | } | 827 | } |
830 | ses = tcon->ses; | 828 | ses = tcon->ses; |
831 | 829 | ||
832 | if (ses->server == NULL) { | 830 | if (ses->server == NULL) { |
833 | cERROR(1, ("Null tcp session")); | 831 | cERROR(1, "Null tcp session"); |
834 | return -EIO; | 832 | return -EIO; |
835 | } | 833 | } |
836 | 834 | ||
@@ -842,8 +840,8 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
842 | use ses->maxReq */ | 840 | use ses->maxReq */ |
843 | 841 | ||
844 | if (in_buf->smb_buf_length > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE - 4) { | 842 | if (in_buf->smb_buf_length > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE - 4) { |
845 | cERROR(1, ("Illegal length, greater than maximum frame, %d", | 843 | cERROR(1, "Illegal length, greater than maximum frame, %d", |
846 | in_buf->smb_buf_length)); | 844 | in_buf->smb_buf_length); |
847 | return -EIO; | 845 | return -EIO; |
848 | } | 846 | } |
849 | 847 | ||
@@ -933,8 +931,8 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
933 | spin_unlock(&GlobalMid_Lock); | 931 | spin_unlock(&GlobalMid_Lock); |
934 | receive_len = midQ->resp_buf->smb_buf_length; | 932 | receive_len = midQ->resp_buf->smb_buf_length; |
935 | } else { | 933 | } else { |
936 | cERROR(1, ("No response for cmd %d mid %d", | 934 | cERROR(1, "No response for cmd %d mid %d", |
937 | midQ->command, midQ->mid)); | 935 | midQ->command, midQ->mid); |
938 | if (midQ->midState == MID_REQUEST_SUBMITTED) { | 936 | if (midQ->midState == MID_REQUEST_SUBMITTED) { |
939 | if (ses->server->tcpStatus == CifsExiting) | 937 | if (ses->server->tcpStatus == CifsExiting) |
940 | rc = -EHOSTDOWN; | 938 | rc = -EHOSTDOWN; |
@@ -947,7 +945,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
947 | if (rc != -EHOSTDOWN) { | 945 | if (rc != -EHOSTDOWN) { |
948 | if (midQ->midState == MID_RETRY_NEEDED) { | 946 | if (midQ->midState == MID_RETRY_NEEDED) { |
949 | rc = -EAGAIN; | 947 | rc = -EAGAIN; |
950 | cFYI(1, ("marking request for retry")); | 948 | cFYI(1, "marking request for retry"); |
951 | } else { | 949 | } else { |
952 | rc = -EIO; | 950 | rc = -EIO; |
953 | } | 951 | } |
@@ -958,8 +956,8 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
958 | } | 956 | } |
959 | 957 | ||
960 | if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) { | 958 | if (receive_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) { |
961 | cERROR(1, ("Frame too large received. Length: %d Xid: %d", | 959 | cERROR(1, "Frame too large received. Length: %d Xid: %d", |
962 | receive_len, xid)); | 960 | receive_len, xid); |
963 | rc = -EIO; | 961 | rc = -EIO; |
964 | goto out; | 962 | goto out; |
965 | } | 963 | } |
@@ -968,7 +966,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
968 | 966 | ||
969 | if ((out_buf == NULL) || (midQ->midState != MID_RESPONSE_RECEIVED)) { | 967 | if ((out_buf == NULL) || (midQ->midState != MID_RESPONSE_RECEIVED)) { |
970 | rc = -EIO; | 968 | rc = -EIO; |
971 | cERROR(1, ("Bad MID state?")); | 969 | cERROR(1, "Bad MID state?"); |
972 | goto out; | 970 | goto out; |
973 | } | 971 | } |
974 | 972 | ||
@@ -986,7 +984,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
986 | &ses->server->mac_signing_key, | 984 | &ses->server->mac_signing_key, |
987 | midQ->sequence_number+1); | 985 | midQ->sequence_number+1); |
988 | if (rc) { | 986 | if (rc) { |
989 | cERROR(1, ("Unexpected SMB signature")); | 987 | cERROR(1, "Unexpected SMB signature"); |
990 | /* BB FIXME add code to kill session */ | 988 | /* BB FIXME add code to kill session */ |
991 | } | 989 | } |
992 | } | 990 | } |