|
@@ -338,10 +338,12 @@ static int ibft_fill_nic ( struct ibft_nic *nic,
|
338
|
338
|
*
|
339
|
339
|
* @v initiator Initiator portion of iBFT
|
340
|
340
|
* @v strings iBFT string block descriptor
|
|
341
|
+ * @v initiator_iqn Initiator IQN
|
341
|
342
|
* @ret rc Return status code
|
342
|
343
|
*/
|
343
|
344
|
static int ibft_fill_initiator ( struct ibft_initiator *initiator,
|
344
|
|
- struct ibft_strings *strings ) {
|
|
345
|
+ struct ibft_strings *strings,
|
|
346
|
+ const char *initiator_iqn ) {
|
345
|
347
|
int rc;
|
346
|
348
|
|
347
|
349
|
/* Fill in common header */
|
|
@@ -352,9 +354,8 @@ static int ibft_fill_initiator ( struct ibft_initiator *initiator,
|
352
|
354
|
IBFT_FL_INITIATOR_FIRMWARE_BOOT_SELECTED );
|
353
|
355
|
|
354
|
356
|
/* Fill in initiator name */
|
355
|
|
- if ( ( rc = ibft_set_string_setting ( NULL, strings,
|
356
|
|
- &initiator->initiator_name,
|
357
|
|
- &initiator_iqn_setting ) ) != 0 )
|
|
357
|
+ if ( ( rc = ibft_set_string ( strings, &initiator->initiator_name,
|
|
358
|
+ initiator_iqn ) ) != 0 )
|
358
|
359
|
return rc;
|
359
|
360
|
DBG ( "iBFT initiator name = %s\n",
|
360
|
361
|
ibft_string ( strings, &initiator->initiator_name ) );
|
|
@@ -613,7 +614,10 @@ static int ibft_install ( int ( * install ) ( struct acpi_header *acpi ) ) {
|
613
|
614
|
/* Fill in Initiator block */
|
614
|
615
|
initiator = ( data + initiator_offset );
|
615
|
616
|
table->control.initiator = cpu_to_le16 ( initiator_offset );
|
616
|
|
- if ( ( rc = ibft_fill_initiator ( initiator, &strings ) ) != 0 )
|
|
617
|
+ iscsi = list_first_entry ( &ibft_model.descs, struct iscsi_session,
|
|
618
|
+ desc.list );
|
|
619
|
+ if ( ( rc = ibft_fill_initiator ( initiator, &strings,
|
|
620
|
+ iscsi->initiator_iqn ) ) != 0 )
|
617
|
621
|
goto err_initiator;
|
618
|
622
|
|
619
|
623
|
/* Fill in NIC blocks */
|