IB/core: Fix and clean up ib_ud_header_init()
[deliverable/linux.git] / drivers / infiniband / core / ud_header.c
index 997c07db6d8fb216a132b12555d4cc27357e7531..650b501eb142718fb322019a9357e2186c02a71c 100644 (file)
@@ -29,8 +29,6 @@
  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
- *
- * $Id: ud_header.c 1349 2004-12-16 21:09:43Z roland $
  */
 
 #include <linux/errno.h>
@@ -183,6 +181,7 @@ static const struct ib_field deth_table[] = {
  * ib_ud_header_init - Initialize UD header structure
  * @payload_bytes:Length of packet payload
  * @grh_present:GRH flag (if non-zero, GRH will be included)
+ * @immediate_present: specify if immediate data should be used
  * @header:Structure to initialize
  *
  * ib_ud_header_init() initializes the lrh.link_version, lrh.link_next_header,
@@ -193,21 +192,13 @@ static const struct ib_field deth_table[] = {
  */
 void ib_ud_header_init(int                         payload_bytes,
                       int                  grh_present,
+                      int                  immediate_present,
                       struct ib_ud_header *header)
 {
-       int header_len;
        u16 packet_length;
 
        memset(header, 0, sizeof *header);
 
-       header_len =
-               IB_LRH_BYTES  +
-               IB_BTH_BYTES  +
-               IB_DETH_BYTES;
-       if (grh_present) {
-               header_len += IB_GRH_BYTES;
-       }
-
        header->lrh.link_version     = 0;
        header->lrh.link_next_header =
                grh_present ? IB_LNH_IBA_GLOBAL : IB_LNH_IBA_LOCAL;
@@ -233,7 +224,8 @@ void ib_ud_header_init(int                      payload_bytes,
 
        header->lrh.packet_length = cpu_to_be16(packet_length);
 
-       if (header->immediate_present)
+       header->immediate_present            = immediate_present;
+       if (immediate_present)
                header->bth.opcode           = IB_OPCODE_UD_SEND_ONLY_WITH_IMMEDIATE;
        else
                header->bth.opcode           = IB_OPCODE_UD_SEND_ONLY;
This page took 0.026045 seconds and 5 git commands to generate.